Changed problem 20 to use BigInteger (more efficient)