Using the method described in the OEIS entry, representing (10^n - 1)/9 as a difference of squares x^2 - y^2 and checking x^2 to see if it satisfies the conditions.
var N=20# how many terms to computevar arr =Set(1)for n in (1..Inf) { var r = (10**n -1)/9 arr << r.diff_of_squares.map{.head}.map{.sqr.digits}.grep {|d| (d[-1] !=1) && d.none{.is_zero} && d.map{.dec}.digits2num.is_square }.map{.digits2num}...breakif (arr.len >=N)}arr.sort.first(N).each_kv {|k,n| say "#{'%2d'% k+1}: #{n}"}