Project EulerのProblem 104(日本語)です。
普通に作ると非常に遅いので、下9桁のみを保存しておく変数を用意し、これが1から9までの数字をすべて含む場合のみ、頭から9桁をチェックするようにしてみました。
104.rb
追記
「Project Euler 104 - 桃の天然水」によると、pandigitalなら9の倍数になるそうです。これを利用して、9行目を以下のようにするだけで4秒程度速くなりますね。
if la.to_i % 9 == 0 && la.to_i.to_s.split(//).sort.join == "123456789"