OFFSET
1,1
MAPLE
rev:= proc(n) local t, L;
L:= convert(n, base, 10);
add(10^j*L[-1-j], j=0..nops(L)-1)
end proc:
sord:= proc(n) local L, t;
L:= sort(convert(n, base, 10), `>`);
add(10^j*L[1+j], j=0..nops(L)-1)
end proc:
rats:= proc(n) option remember; sord(n + rev(n)) end proc:
Res:= NULL:
for d from 1 to 15 do
for x1 from 0 to d do
for x2 from 0 to d-x1 do
for x3 from 0 to d-x1-x2 do
for x4 from 0 to d-x1-x2-x3 do
for x5 from 0 to d-x1-x2-x3-x4 do
for x6 from 0 to d-x1-x2-x3-x4-x5 do
for x7 from 0 to d-x1-x2-x3-x4-x5-x6 do
for x8 from 0 to d-x1-x2-x3-x4-x5-x6-x7 do
x9:= d-x1-x2-x3-x4-x5-x6-x7-x8;
L:= [1$x1, 2$x2, 3$x3, 4$x4, 5$x5, 6$x6, 7$x7, 8$x8, 9$x9];
x:= add(L[-i]*10^(i-1), i=1..d);
if rats(rats(x)) = x then Res:= Res, x fi
od od od od od od od od od:
sort([Res]);
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Robert Israel, Jul 20 2016
STATUS
approved