Solution to Project Euler problem 11