Magic2

Problema poate fi abordată în multe feluri. În principiu se realizează un algoritm naiv dar care impune atenţie deosebită.
În algoritm vom trata următoarele trei cazuri:

Tabloul este magic
Cele două elemente se află pe linii şi coloane diferite
Cele două elemente se află pe aceeaşi linie
Cele două elemente se află pe aceeaşi coloană

Pentru oricare din posibilele tablouri trebuie determinată suma magică. Nu este banal, deoarece nu cunoaştem linia, respectiv coloana greşită. Deci, se determină toate sumele liniilor şi se păstrează ca sumă magică, cea care apare cel puţin de trei ori (cel mult două linii pot fi greşite). Dacă nu găsim nicio linie greşită, rezultă că pătratul este magic (coloanele nu trebuie verificate, deoarece dacă nu am găsit nicio linie eronată, rezultă că şi coloanele sunt corecte).
Dacă nu găsim două linii greşite, rezultă că cele două elemente eronate se află pe aceeaşi linie. Pentru liniile găsite greşite păstrăm indicele şi suma lor. Vom proceda similar şi în cazul coloanelor.
Urmează determinarea diferenţiată după cele trei cazuri de mai sus a valorilor corecte.