ProjectEuler.com  solutions