solutions to project euler 50 - 100