Project Euler solutions by Jordan Townsend - http://projecteuler.net