Project Euler - http://projecteuler.net/problem=67