This is a classical example of a situation where one can use the so-called "bars and stars" method. The problem is to divide 88 stars into 5 groups. The boundaries between the groups can be represented by bars, so one needs 4 bars. The spaces in between the bars are filled with the 88 stars and each such configuration corresponds to a solution.
For example, |*||*|***... (86 stars)...* corresponds to the solution 0 + 1 + 0 + 1 + 86, or a=0, b=1, c=0, d=1, e = 86. Similarly, given a solution like 1 + 15 + 0 + 70 + 2, one can assign the configuration *|***************||***...(70 stars)...*|**.
Once this is understood, one can make it more formal. What we have seen is that there is a bijection between the set of nonnegative integer solutions to the equation a + b + c + d + e = 88 and the set of binary sequences of length 92 with exactly 88 ones (bars) and 4 zeros (stars). This set can be counted using combinations. To determine any such binary sequence, pick 4 slots amongst the 92, where the zeros will go and fill the rest with ones. This can be done in C(92,4) = 92!/(4!*88!) ways. Or one can pick the slots for the ones and fill the rest with zeros, which can be done in C(92,88) ways. But we know that C(92,4) = C(92,88), since this is a manifestation of the symmetric property of Pascal's Triangle C(n,k) = C(n,n-k).
Hope it makes sense!