added sudoku solver (should still be parallelized)