A small cell networks (SCN) concept has been widely accepted as the most efficient method to increase cellular network capacity. As the cell size and networks become smaller and denser, respectively, inter-cell interference (ICI) at a user terminal equipment (UE), coming from the adjacent base station (BS) transmissions, grows considerably and becomes more complex to manage. In this paper, we develop a distributed cooperative downlink power allocation algorithm for SCN that maximises the network sum capacity, subject to the minimum received SINR requirements at the UEs. We first formulate the power optimisation problem, with BSs transmit powers as the variables to be optimised. A factor graph representation for ICI and Belief Propagation (BP) method for the power allocation optimisation are then developed. This optimisation representation allows each BS to cooperate by exchanging messages about the estimates of the sum capacity that can satisfy minimum SINR requirements at UEs. Each BS uses this information to optimise its transmit power allocation. To reduce the overhead information that needs to be exchanged by the BSs, we allow only a subset of BSs in the network, chosen randomly, to exchange messages. The simulation results show that the network sum capacity obtained by the proposed algorithm, with only 70% randomly chosen active BSs, is close to the one obtained by using a global optimal exhaustive search method and it outperforms the best existing scheme.