There's no easy way around it. You have to look at the test case inputs one by one for situations you didn't think about, work out manually the correct answer, and see if your algorithm agrees.
For example, one thing that bit me on a recent Google Code Jam question I tried for practice was not allocating a big enough numeric type to hold the result. I was using a 32-bit
int and needed at least 64 bits. Looking at the difference between the long and short test inputs, I noticed how much larger the input values were, like they were purposely trying to see if I would overflow.
That's part of the contest. They want to see how well you anticipate the edge cases. Otherwise, they would tell you which test case specifically failed.
Another thing that can help is writing your own test cases, so you can see for yourself which one failed before you submit. Try really large numbers, really small ones, different combinations of positive and negative, etc. Try to push the boundaries of the problem to make sure you cover all the angles. The trick is to make your own test cases simple enough to manually calculate while also complex enough to be a thorough test. That just comes with practice.