Java solutions to ProjectEuler.net challenges