Magisches Quadrat rekursiv lösen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Magisches Quadrat rekursiv lösen

    Hallo,
    ich bin dabei ein Programm in Java zu schreiben, dass ein Magisches Quadrat lösen soll.
    Im Moment scheitere ich jedoch schon an der theoretischen Ausführung.
    Ich habe eine Funktion die alle Spalten, Reihen und Diagonalen auf "Magie" überprüfen kann.
    Außerdem eine, die ein NxN Quadrat mit zufällingen zahlen von 1 bis n² füllt.
    Die Frage ist jetzt wie löse ich das Quadrat, ohne jedes Mal am Ende von Neuem anzufangen, also rein zufällig eine Lösung zu finden.
    Mann könnte es nach jeder ausgefüllten Zeile überprüfen, ob die Summe stimmt, um diese dann zu löschen wenn nicht.
    Dabei kommt man aber spätestens in der letzten Zeile in Schwierigkeiten, da nun auch die Spaltensummen stimmen müssen und man somit evtl. Zahlen in anderen Spalten löschen muss.
    Man dreht sich also mehr oder weniger im Kreis.
    Wie geht man die Lösung also am besten an, um möglichst günstig ein Ergebnis zu erhalten.
    MfG
    Loud Silence