In this paper, we propose a channel aware fast utility-based algorithm for allocating power and subcarrier to the users in Orthogonal Frequency Division Multiple Access (OFDMA) networks. Utility function is a proven approach for fair and efficient radio resource allocation. Most of the proposed schemes in the related literature consider continuous rate adaptation. However, our proposed algorithm utilizes adaptive bit loading and power allocation in conjunction with Dynamic Subcarrier Allocation (DSA). Moreover, the fact that OFDMA system is only able to transmit with several bit rates has been taken into account in our proposed algorithm. We further study the performance of the proposed algorithm through simulations. Comparisons with similar approaches are also conducted which indicate significant performance improvement.