Problem 56 solution added. ~0.35 seconds running time.