Projecteuler problem 8 solution