Decided to make solving the puzzle multi-threaded. Because why not.