changed sudoku::engine algorithm