OOP based C++ sudoku solver. Implements the following algorithms to solve: naked single, hidden single, block row/column interaction, block block interaction, naked subset and hidden subset