Add solution to Project Euler problem 3