solutions to problems in Project Euler