This is a very simple implementation of a program to solve sudokus. It doesn't intent to be efficient or optimized. I have tried to keep it simple, and I hope that the code is undertandable.
Just open a terminal, go to the folder where you downloaded the code and type:
make
By default, a level -O3 of optimization is enabled, since the performance is greatly improved. Anyway, you can modify the makefile if you want to change it.
sudoku_solver FILENAME
The sudoku has to be stored in the file as a string of 81 numbers from 0 to 9, where 0 is a blank space. An example is provided.