Next generation cellular networks require high capacity, enhanced energy efficiency and guaranteed quality of service (QoS). In order to meet these targets, device-to device (D2D) communication is being considered for future 5th generation especially for certain applications that require the proximity gain, the reuse gain, and the hop gain. In this paper, we investigate energy efficient power control for the uplink of an OFDMA (orthogonal frequency-division multiple access) single-cell communication system composed of both regular cellular users and device to device (D2D) pairs. Firstly, we analyze and mathematically model the actual requirements forD2D communications and traditional cellular links in terms of minimum rate and maximum power requirement. Secondly, we use fractional programming in order to transform the original problem into an equivalent concave one and we use the non-cooperative Game theory in order to characterize the equilibrium. Then, the solution of the game is given as a water-filling power allocation. Furthermore, we implement a distributed power allocation scheme using three ways: a) Fractional programming techniques b) Closed form expression (the novelty is the use of wright omega function). c) Inverse water filling. Finally, simulations in both static and dynamic channel setting are presented to illustrate the improved performance in term of EE, SE (spectral efficiency) and time of execution of the iterative algorithm (Dinkelbach) than the closed form algorithms.