回文数 @鍋パーティー

【問】「『ある数字を10進数表記して、それをひっくり返したものともとの数を足す』 という処理を回文数が出てくるまで繰り返すとき、一番遅く回文数になる2桁の数字はどれか。ただし処理をする前から回文数の物は一度目を処理をして続ける。」

先日の鍋パーティーで出題した問題ですが、これが意外と奥深い。もとは数学の問題だが、この鍋パーティーが我が所属するPC部の物だったため、プログラムを組んで答えを出すということに。
pythonで組んだのがこちら

def solve(a):
	cnt=0
	while(1):
		b=int(str(a)[::-1])
		if a==b and cnt!=0:
			break
		a+=b
		cnt+=1
	return cnt

for a in range(10,100):
	print str(a)+"  "+str(solve(a))

ひっくり返す処理にはreverseではリスト化する必要があるので[::-1]でスライスしました。
結果 98と89が回文数になるまで24回かかるということになりました。

なんとこの問題、3桁の数字まで拡張するとまだ未解決な問題なのです。
やってみるとわかりますが、solve(196)だとどのようなスパコンでも終わらないと思います。
それでいて無限に続くのかどうかもわからない。
なんとも奥の深い問題です。