Puzzle Solver class which implements solving and validation functionality
Implementation based on my previous project; Java Sudoku
https://github.com/AlvinRamoutar/Sudoku
Performs a DEEP clone of a grid
When talking about cloning, it (mostly) boils down to two types;
Shallow: Constructs new object in new member space, but inserts references
for as many of that objects fields as possible.
Deep: Constructs a new object in new memory space, along with new objects
for all fields within that object.