problem 3 of project Euler