Consider a scenario in which K users and a jammer have a limited power budget and share a common spectrum of N orthogonal tones. The goal of each user is to allocate its power across the N tones in such a way that maximizes the total sum rate that he/she can achieve, while treating the interference of other users and the jammer's signal as additive Gaussian noise. The jammer, on the other hand, wishes to allocate its power in such a way that minimizes the utility of the whole system; that being the total sum of the rates communicated over the network. For this non-cooperative game, we propose a generalized version of the existing iterative water-filling algorithm whereby the users and the jammer update their power allocations in a greedy manner. We study conditions under which the generalized iterative water-filling algorithm converges to a Nash equilibrium of the game. The conditions that we derive in this paper depend only on the system parameters, and hence can be checked a priori.