Problem: There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc.

Commentary: I’m not proud of this solution. Every time I would look at this solution, I just knew there was something really obvious I was missing–that I was doing this in the most bone-headed way possible. So then I finally just gave up and checked the writeup at Project Euler, and yep, I forgot that Pythagorean Triplets have a very nice parametrization.

I won’t even bother to reproduce the idea here, because the writeup over at Project Euler is actually very well done. But it is a bit embarrassing to have a masters in number theory and to forget that simple fact. Oh well.

R Code:

ElapsedTime <- system.time({
##########################
for (a in c(1:333)){
for (b in c(334:998)){
test <- a+b+sqrt(a^2+b^2)
if (test==1000){
win.a <- a
win.b <- b
break
}
}
}