Generieren wir uns mal wieder eine Hilfstabelle nach bekanntem Muster.
create table Differenz (differenz int, anzahl int) insert into Differenz select differenz, count(1) from Paar group by differenzWas wir brauchen, ist eine Gruppe von Zahlenpaaren mit gleicher Differenz, bei denen eine der Zahlen häufiger vertreten ist als alle anderen. Das erlaubt es Daniel, festzustellen, dass diese Zahl wahrscheinlicher ist. Wir können also aus der Zahlenpaarliste diejenigen entfernen, deren Differenz nur einmal vorkommt.
Wir können uns die Liste sogar noch ein Stückchen vereinfachen, indem wir uns gleich noch den nächsten Hinweis ansehen:
Wir löschen nun aus der Menge der Zahlenpaare also alle Zeilen, deren Differenzen weniger als dreimal vorkommen.
delete Paar where differenz in (select differenz from Differenz where anzahl < 3)Was wir jetzt haben, sind überschaubare 6 Zahlenpaare. Natürlich könnte man weiter rumprogrammieren, aber den letzten Schritt schaffen wir durch Augenschein:
select * from Paar order by differenz, summe
| X | Y | produkt | summe | differenz |
| 23 | 32 | 736 | 55 | 9 |
| 32 | 41 | 1312 | 73 | 9 |
| 64 | 73 | 4672 | 137 | 9 |
| 16 | 37 | 592 | 53 | 21 |
| 32 | 53 | 1696 | 85 | 21 |
| 43 | 64 | 2752 | 107 | 21 |
Nicht nur Daniel, auch wir kennen jetzt die Lösung. Die 32 taucht in zwei Zahlenpaaren auf, die die gleiche Differenz 9 ergeben. Dass die 32 außerdem noch einmal bei der Differenz 21 vertreten ist, ist Zufall. Hätte Daniel die 21 als Differenz, dann würde er die 32 nur einmal sehen und hätte keinen Hinweis auf die Lösung abgegeben.
Richtig ist nur die grün markierte Lösung 64 und 73.