Currently this can do most puzzles of Expert level and a few from Master level on Sudoku.com. It also doesn't know how to brute force solutions, which is what I want to teach it next, because I personally have gotten to the point where it can solve everything that I can. Basically it knows all the tricks I do, so the only thing to teach it is how to guess numbers and know whether or not the guess was correct. For my own coding learning, I wanted to do this involving Prolog for the obvious issue involving recursion (which Prolog excels at), but the .NET <-> Prolog interface is depricated at best.
Long story short, I will try and create the same solver in C++/C with the help of Qt, because the C++ <-> Prolog interface seems like it is still maintained. If I can get that to work, I might be able to send stuff from C++/C to C# and make this version of the solver work as well. Best case scenario, I learn how to use Prolog as a logic center with connections to C++/C and up to C# from there if the application makes sense. I will also know how to interface the C-languages to each other. Worst case, I get more experience with C++/C and find out that they don't connect to Prolog very well either. But considering how much documentation there is on this connection, I don't think this will happen.
I am personally very excited to learn about the possibility of making stuff that can be developed quickly using C#, that can act swiftly using C++/C, and that can think recursively using the power of Prolog.