Originariamente inviato da Alfredo_88
riceve in ingresso una matrice di interi di dimensione 9×9 e restituisce true se la matrice rappresenta una soluzione valida per il gioco del Sudoku, false altrimenti.

Ho scritto anche la classe ProvaSudoku, e facendo una prova inserendo tutte le righe pari a 1,2,3,4,5,6,7,8,9 mi dice che la griglia è corretta quando invece è sbagliata!!! Non riesco a capire dove sta l'errore fin qui.
Scusa, ma prima di scrivere il codice hai ragionato su cosa significa "soluzione valida per il gioco del Sudoku"?

In un Sudoku completato (quindi senza più celle vuote), la matrice è "valida", cioè è stato risolto, quando in ogni riga/colonna si ha una qualunque disposizione dei numeri 1..9 purché in ogni riga/colonna non ci siano ripetizioni.

E come potresti testarlo con quel codice? Oltre al fatto che il while più interno mi lascia perplesso, visto che la condizione k>=j+1 è inizialmente false (quindi non entri nemmeno nel while!).