Algorithmus und sehr viel Übung.
98789-1 ist durch 4 teilbar ist, dadurch kann man die letzte Zahl der Lösung ganz einfach bestimmen: Sie ist identisch mit der letzten Zahl der Aufgabenstellung.
Für kleine Lösungen (zwei- bis dreistellig) reicht es dann, die Größe der Zahl zu kennen: 10^98789 hat viel weniger Stellen als 20^98789, und diese wiederum viel weniger Stellen als 30^98789 und so weiter.
Für aufwändigere Rechnungen nutzt man dann den Logarithmus der Zahlen. Aus dem Wurzelziehen wird dann eine Division durch 98789. Nicht trivial, aber einfacher machbar als das Wurzelziehen.
Dafür braucht man lediglich den Anfang der Zahl, da man das Ergebnis praktisch "abschätzt" und dafür eben nur die ersten Ziffern interessant sind. Entsprechend kann er die ersten Zahlen schnell hinschreiben, ist sich zu den kleineren Zahlen hin etwas unsicher und braucht die letzte Stelle nicht zu diskutieren.
Umgekehrt kann man mit den letzten beiden Stellen der Lösung wieder das Ende der langen Zahl ausrechnen (exakt), was bei seiner Lösung nicht mit dem Ende davon übereinstimmt - daher seine Diskussion und Korrektur der Lösung.
Der aufwändige Teil geht dann in etwa so: Bestimmte die Ziffernzahl der Lösung (1.000.000/98789>10, also 11 Stellen), betrachte die ersten ~10 Stellen der Zahl, zerlege sie teilweise in Primfaktoren, bilde den Logarithmus jedes Faktors (auswendig gelernt), addiere alle. Dividiere den Logarithmus durch 98789, rechne e^zahl aus und setze es wieder zur Lösung zusammen. Schreibe die letzte Ziffer dazu, mache die Probe mit den letzten 2 oder 3 Stellen.