Solution to Project Euler problem 9