This Python code can solve easy and medium-level sudoku puzzles. It doesn't work for harder levels. I'll need to sit and write the code for that sometime...
For this solver, all you need to do is provide a CSV file that has the puzzle. The file should have numbers as they are listed in the sudoku puzzle.
For example, for the following puzzle
the CSV should look like
You can tweak the variable itnum in the code. If a certain value doesn't fully solve the puzzle, increase the value until it does! Usually, a value of 5 or 6 should be fine for easy and medium-level puzzles.