Sudoku CSharp implementation