Hi,
Ich hab mir die Tage auch gerade Gedanken über so ne Lösung (ohne Programm) gemacht. Sie ist im folgenden erläutert
(mit Beispiel..allerdings nicht das vom Threadersteller vorgegebene!)
Lösungsstrategie - Reduktion der Variablen
----------------
Bsp.
Z/S A B C
1 - + 9
+ - -
2 + - 3
+ + +
3 + - 7
18 6 5
1. Vergleich der Quersumme der Zahlen 1 bis 9 (45) mit den Summen der Spalten bzw. der Zeilen
Die Quersumme unterscheidet sich dadurch, dass hier alle Summanden ein positives Vorzeichen haben
=> Subtraktion der Quersumme von den Spalten- bzw. Zeilensummen ergibt den Wegfall aller Summanden
mit positivem Vorzeichen.
Bsp. A + B + C = (A1+A2+A3) + (B1-B2+B3) + (C1-C2+C3) = (18+6+5)
= 45 (Quersumme) - 2x(B2+C2) = 29
=> B2+C2 = 8
z1 + z2 + z3= (A1-B1+C1) + (A2+B2-C2) + (A3+B3-C3) = (9+3+7)
= 45 (Quersumme)- 2x(B1+C2+C3) = 19
=> B1+C2+C3 = 13
2. Differenzen
Da jede Zahl nur einmal vorkommen kann, kann/darf die Differenz zweier Zahlen nicht Null sein.
Bsp. Spalte B: B1 - B2 + B3 = 6 -> da B1<>B2 und B3<>B2 weiß man automatisch:
B1 und B3 <> 6
analog dazu ergibt sich:
C1 und C3 <> 5
A1 und C1 < 9
A2 und B2 <> 3
A3 und B3 <> 7
=> erste Zwischenbilanz:
A1 < 9 B1 <> 6, = 13-C2-C3 C1 <> 5, <9
A2 <> 3 B2 <> 3, = 8-C2 C2 = 8-B2,13-B1-C3
A3 <> 7 B3 <> 6und7 C3 <> 5, = 13-B1-C2
3. Zeilen- und Spalten-Gleichungen ineinander einsetzen
Bsp.
a) anwenden von Strichrechenoperatoren auf die Zeilen, so dass (nach Umsortieren der Summanden)
alle A-Summanden komplett durch das Ergebnis von Spalte A (18) ersetzt werden können.
Z1 + Z2 + Z3
=> (A1-B1+C1) 9
+ (A2+B2-C2) =+ 3
+ (A3+B3-C3) + 7
sortieren nach Spalten:
(A1+A2+A3) + (-B1+B2+B3) + (C1-C2-C3)= 19
Einsetzen der (umgestellten) Spaltengleichungen (immer mind. 2 Variablen ersetzen):
= 18 + ((-6+B3)+B3)+ ((5-C3)-C3)
= 17 + 2x(B3-C3)
=> B3 - C3 = 1
b) anwenden von Strichrechenoperatoren auf die Zeilen, so dass (nach Umsortieren der Summanden)
alle B-Summanden komplett durch das Ergebnis von Spalte B (6) ersetzt werden können.
- Z1 - Z2 + Z3
=> - (A1-B1+C1) - 9
- (A2+B2-C2) =- 3
+ (A3+B3-C3) + 7
sortieren nach Spalten:
(-A1-A2+A3) + (B1-B2+B3) + (-C1+C2-C3)= -5
Einsetzen der (umgestellten) Spaltengleichungen:
= ((A3-18)+A3)+ 6 + (-5)
=> A3 = 6
c) anwenden von Strichrechenoperatoren auf die Zeilen, so dass (nach Umsortieren der Summanden)
alle C-Summanden komplett durch das Ergebnis von Spalte C (5) ersetzt werden können.
Z1 + Z2 - Z3
=> (A1-B1+C1) 9
+ (A2+B2-C2) =+ 3
- (A3+B3-C3) - 7
sortieren nach Spalten:
(A1+A2-A3) + (-B1+B2-B3) + (C1-C2+C3)= 5
Einsetzen der (umgestellten) Spaltengleichungen:
= ((18-A3)-A3) + (-6) + 5 = 5
=> A3 = 6
zweite Zwischenbilanz:
A1 < 9 B1 <> 6, = 13-C2-C3 C1 <> 5, <9
A2 <> 3 B2 <> 3, = 8-C2 C2 = 8-B2,13-B1-C3
A3 = 6 B3 <> 6und7,C3+1 C3 <> 5, = 13-B1-C2,B3-1
4) Ersetzen aller Variablen durch möglichst wenige Basisvariablen (hier B2 und B3 gewählt)
durch Abgleich mit den Ausgangsgleichungen (Zeilen/Spalten)
z1:A1 - B1 + C1 = 9
= A1-(13-C2-C3)+C1 Quersumme 2 eingesetzt (Ersetzung von B1)
= A1-13+C2+(5+C2) Spalte 3 eingesetzt (Ersetzung von C1 und C3)
=> A1 = 17- 2xC2 = 17-2x(8-B2) Quersumme 1 eingesetzt (Ersetzung von C2)
= 1 + 2xB2
z2:A2 + B2 - C2 = 3
= A2 + B2-(8-B2) = A2-8 + 2xB2 Quersumme 1 eingesetzt (Ersetzung von C2)
=> A2 = 11 - 2xB2
=> dritte Zwischenbilanz (Matrix mit nur 2 Variablen)
1+2xB2 < 9 6+B2-B3 <> 6 14-B2-B3<9, <> 5
11-2xB2 <> 3 B2 <> 3 8-B2 <> 5
6 B3 <> 6und7 B3-1 <> 5und6
für alle gilt darüber hinaus natürlich auch die Relation 0<Variable<10
5) Vergleichen der Relationen (<,=,>)
Bsp.
A1: B2<4; B2: <>3 => B2<3 = 1,2
=> C2 = 7,6; C2<>6 <=> A3=6 => C2=7; => B2=1
=> A1=3; A2=9
C1: -B2-B3<-5; B2=1 => B3>4,<>6und7,<>9 <=> A2=9 => B3=5,8
=> C3: 4,7; C3<>7 <=> C2=7 => C3=4 => B3=5
=> B1=2; C1=8
Lösung:
3 2 8
9 1 7
6 5 4