Sudoko solver algorithm