http://www.perlmonks.org?node_id=509348


in reply to Re: CarTalk Puzzler
in thread CarTalk Puzzler

The trouble with enumerating the result - what if it had been 2,000,000,000,000,000,000,000 instead of 20,000?
2,000,000,000,000,000,000,000 == 2 * 1021 == 5 * 4 * 1020 == 5 * (2 * 1010)2.

So, all you need to do is list the squares of all numbers from 1 to sqrt(5) * 2 * 1010. It'll take a while to list, but you can do it with a one-liner.

Perl --((8:>*