Twój kod jest tak długi, a noc tak krótka, że nie podejmuję się jego analizy, ale kilka uwag:
Więc powinieneś to pokazać właśnie na ideone, wklejając do okienka stdin [wejście] wszystkie testowane przykłady.
Sprawdzanie sumy moim zdaniem nie jest dobre, np 9 x 5 = 45, a także dowolnie wiele różnych kombinacji 9 liczb jednocyfrowych spełnia ten warunek [== 45]
Używasz C++, to nie używaj narzędzi z C. [narzędzi i/o]
Twoje wczytywanie jest mówiąc oględnie dziwne i skomplikowane. Przecież można w tym zadaniu w prosty sposób np tak:
for (int i = 0; i < 9; ++i)
for (int j = 0; j < 9; ++j)
cin >> sudokuArray[i][j];
Jeżeli używasz do testowania funkcji printSudoku(), to bardzo dobrze, ale jeżeli chcesz pomocy i pokazujesz swój kod, to “odchódź” go maksymalnie. Oszczędzisz w ten sposób chcącym pomóc kawałek nocy i łatwiej znajdziesz chętnych do pomocy. Ja na razie wymiękam. Jeżeli twój kod schudnie to może wtedy 