Extracted some common functionality and improved the performance of some solutions up to problem 48. Should really look at soltuion 50 as it runs for 40 seconds!!!