I hope this helps you . You've already accomplished the first step, identifying where and when the problem occurs. With the help of a debugger, you can step through _Solve when iRow is 1 and iCol is 5. Here's what I see, just looking at the first point when your problem occurs:
I hope this helps you . I'd recommend the same algorithm I use when solving them myself ;-) Choose an arbitrary square and list all the valid values for it, based on what is present in all the other rows (there's probably a way to make a more efficient decision about which square to start with).
Why is my JAVA code for solving sudoku using backtracking not giving any solution?