https://projecteuler.net/ solutions to problems