In this paper, we introduce a distributed load balancing algorithm for cellular networks. Traffic load in cellular networks is sometimes unbalanced. Some cells are overloaded, while others remain free. Simplicial homology is a tool from algebraic topology that allows to compute the coverage of a network by using only simple matrix computations. Our algorithm, which is based on simplicial homology, controls the transmission power of each cell in the network, not only to satisfy the coverage constraint, but also to redirect users from the overloaded cells to the underloaded ones. As a result, the traffic load of the cellular network is more balanced. The simulation results show that this algorithm improves the capacity of the whole network by 2.3% when the user demand is fast varying.