So you and a group of friends have a cake, and you want to divide it fairly ("equally") among you. But that's not the exact description of the situation, is it?
It's more like this: each of you is willing to cheat, lie, and cause GBH to the others, just in order to get a little extra cake.
So what's needed is a protocol for dividing the cake, i.e. a set of rules which can be followed, and which will result in a division of the cake which can be considered fair by all participants. Something like "divide the cake equally" is no good, because whoever does this will cheat, and the others cannot prevent her!
The problem is easiest when all parties have the same utility function (this is a fancy way of saying that each wants as much cake as possible, as opposed to somebody wanting a lot of cake, but no raisins, while the others just want a lot of cake). Otherwise, even defining "fair" is difficult, and different definitions can give rise to different protocols. Below are linked to possible solutions, for the first case.