Scroll down to see how it works. If you'd rather solve the problem yourself, don't scroll. . . . . . How it works (this is a spoiler): ========================================= The project loops through every value from 100 to 999 for each a and b (which are multiplied together). For each of the possible combinations, it checks to see if the number is a palindrome. In order to do this, it loops through all of the digits of the number and checks to see if the first = the last, the second = the second to last, etc. If the number is, in fact, a palindrome, it will be added to the list. Once all the possible values for a and b have been looped through, the project finds the largest value in the list. This must be our answer. A hack-y way to make this faster: Instead of checking all the values from 100 to 999, you can instead check only from 900 to 999. Given that we're looking for the largest palindrome product, it is *almost* guaranteed to be a product within these ranges. However, it isn't technically 100% sure (though I can tell you... it is.) It seems like there might be an even better (faster) way to do this... Let me know if you have one!
The @ProjectEuler account is created and maintained by @PullJosh. If you have questions, feel free to comment here or on my @PullJosh profile page for a much quicker response.