Project Euler: Problem 9

https://projecteuler.net/problem=9

A Pythagorean triplet is a set of three natural numbers, $a < b < c$, for which,

$$a^2 + b^2 = c^2$$

For example, $3^2 + 4^2 = 9 + 16 = 25 = 5^2$.

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


In [1]:
#I use 3 for loops to iterate over all possible values of a,b,c. Then test if our two equation conditions are true.
for c in range(1001):
    for b in range(0,c):
        for a in range(b):
            if a + b + c == 1000 and a**2 + b**2 == c**2:
                result = a*b*c
                break
print("Answer: " + str(result))


Answer: 31875000

This works, but takes a few seconds. Very important to use the condition that a less than b less than c in the ranges. Otherwise it takes much longer.


In [9]:
# This cell will be used for grading, leave it at the end of the notebook.