The x at (aa x bb) is equal to c-a^2, though that's kind of the same result you already have.
So it looks like the pattern is driven by x^2+e equaling 144 as a fixed constant. So n(d-x) = na = 72, and thus n and a can take on all the various factor combinations of 72, which also gives d with the offset of 11 from a. And b=d+x+2n.
In general e is always going to be bounded by 2d, because (d+1)^2 = d^2 + 2d + 1.
That is, if the remainder e gets up to 2d+1, you just tick over to records using the next larger d value.
You may want to check your code for why you didn't find any more in the pattern.
The next record in the sequence containing 225 is (0, 128, 465, 240, 225, 961), and there should be an infinite number of them afterwards.
For c=ab where a and b are primes, there are only two differences of squares that work, one trivial (corresponding to c=1c), and the other true solution with c=a*b.
If c has additional factors (like the aa*bb cases), there will be additional solutions, though.
NIST recently posted a bunch of submissions for potential quantum-resistant crypto algorithms:
http:/ /csrc.nist.gov/Projects/Post-Quantum-Cryptography/Round-1-Submissions