Памахите, в общем до 17 знака все ок, значения совпадают с известными на 19 знаке выдает чего-то нето. Не понимаю где ошибка. Я там конечно местами наговнокодил, где-то куски кода спер у предыдуших решавших, дабы сократить решение. Метод updateNumber с нуля сам написал с рекурсией. Если забить число 9_000_000_000_000_000_000L решает за 3с но по Long.MAX_VALUE - висит. З.Ы. с советами типо создай массив с заранее известными решениями и проверяй чтобы определенное значение было меньше N досвидания.