I've used python and the popular backtracking algorithm to solve sudoku
Python
Solving-Sudoku-Using-Backtracking
Backtracking is an algorithmic-technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail to satisfy the constraints of the problem at any point of time