un consiglio, pensa inizialmente indipendentemente dalla grafica (non serve): l'algoritmo di risoluzione ha come input e come output un qualcosa che decidi di mandare in grafica, non in grafica.

detto questo, la logica che hai seguito va bene per i medi/facili, non va bene per i difficili in cui con carta e penna ragioni con "in quella colonna è sicuro che vanno 2 numeri, non so dove, ma in questo modo li escludi dalle altre celle".
diciamo che un diverso approccio risolutivo ti aiuterebbe.
Qui ho trovato un approccio:

http://www.math.cornell.edu/~mec/Sum..._Sudoku_I.html

ma cercando sicuramente ne trovi altri