Problem 19 completed
Problem 20 completed
Some optimisations for the Python solutions