Zerówka

W komentarzach do poprzedniego wpisu sypnęło kwadratami magicznymi do Melancholii II. Nie przypuszczałem, że pojawi ich się aż tyle. Dziękuję w imieniu grafika, który będzie miał w czym wybierać.
Postanowiłem pozostać przy kwadratach liczbowych, ale nieco innych. Zacznę od sformułowania zadania, a potem wyłuszczę co wytłuszczę.

Z dziewięciu różnych cyfr należy utworzyć kwadrat różnicowy, który będzie można wyzerować w sześciu ruchach.

Kwadrat różnicowy jest diagramem złożonym z 9 pól (3×3), w które wpisano cyfry w taki sposób, że w trzech rzędach powstały 3-cyfrowe liczby tworzące poprawne odejmowanie. Przykład z dziewięcioma różnymi cyframi:

Zer_1

Wyzerować kwadrat różnicowy oznacza doprowadzić w określonej liczbie ruchów do zmiany wszystkich cyfr w zera, czyli:

Zer_2

Ruch polega na zmniejszeniu cyfr znajdujących się w dwu sąsiednich polach (mających wspólny bok) o taką samą wartość.
Przykład (sąsiednie liczby maleją o 2):

Zer_3

I wszystko (mam nadzieję) jest jasne.
Na dobry początek dwie cyfry w kwadracie różnicowym są ujawnione. Pozostaje wpisać siedem pozostałych.

Zer_4

Dla wytrwałych programistów: kto bez „dobrego początku” znajdzie drugie (więcej nie ma) rozwiązanie tego zadania?

Kom