This is how I would go about it:

Let be the number of balloons with 3 spots and be the number of balloons with 5 spots. We then have:

where in the total number of spots.

Next, I would let:

and and so there results:

Now, we want to find a specific instance that works for a particular .

In the case of , I would begin taking multiples of 5 away from 31 until I have a multiple of 3. In this case:

and so we find:

hence:

and thus:

and

We know produces a valid solution , but does not, so going in the other direction we find:

But, produces an invalid solution, so we know we have found the only two solutions that work.

A similar process can be done for the other two values of .