Optimized solver and tweaked shuffle function to create better boards.