An intelligent NxN Sudoku Solver