perchè dovete partire prevenuti? No, il mio up non significa quello che hai detto, ma significa: siccome ci sono stato almeno un paio di ore a capire da dove parte il problema, mi potete da una mano per favore? Comunque, chiudendo questa parentesi, l'eccezione viene generata a partire dall'istruzione sb.append(m[i][j]) ho provato a debuggare(non ho eseguito istruzione per istruzione dall'inizio perche essendo un algoritmo ricorsivo, dura parecchio) però pur impostando dei breakpoint un varie parti del programma non sono riuscito a capire da dove si genera.
Come ho detto viene generata dall'istruzione sb.append(m[i][j]) del toString, infatti controllando in debug nella matrice tutti i valori sono null( e questo succede solo se gli passo un sudoku mezzo completo, se gliene passo uno con tutti valori a 0, lui lo completa normalmente)
Mi sembra impossibile un'eccezione del genere perche io nel main istanzio gia la matrice di Celle con alcuni valori dentro e poi gliela passo.