solution to Project Euler problem 7.