В массиве возвращаемом методом getNumbers не хватает элементов или есть лишние. Уже не знаю на каких числах проверять, разные варианты пробовал. С проверочными числами совпадает, всего из Long.MAX_VALUE выводит 51 число. Я даже проверочный класс создал, куда скопипастил все числа отсюда: http://mathworld.wolfram.com/NarcissisticNumber.html По ним делал проверку того, что у меня получалось. Вроде все совпадает. Сама программа работает 2-3сек, памяти есть около 15МБ. Даже не знаю в какую сторону дальше копать. Братцы, помогите!