login
Lexicographically earliest sequence of distinct positive terms such that a(n)+a(n+1) and a(n)*a(n+1) have the same set of distinct digits.
0

%I #6 Apr 04 2024 10:26:06

%S 1,100,10,898,134,398,33,669,83,1221,101,21,111,11,112,102,447,131,

%T 458,1008,924,339,979,566,57,108,109,326,2247,1502,5,577,337,1203,557,

%U 1692,4992,1923,1749,41,1000,12,62,362,901,493,1604,2500,105,49,169,1048,744,38,3,24,88,884,160,344,698,34,213,1076,212,174

%N Lexicographically earliest sequence of distinct positive terms such that a(n)+a(n+1) and a(n)*a(n+1) have the same set of distinct digits.

%C The decimal representation of the sum and the product of any 2 successive terms has the same set of distinct digits.

%e a(8) = 669, then a(9) = 83 because 83 is the least positive integer not appearing in the sequence such that 83 + 669 = 752 and 83 * 669 = 55527 have the same set of distinct digits {2, 5, 7}.

%t a[1]=1;a[n_]:=a[n]=(k=1;While[MemberQ[Array[a,n-1],k]||Union@IntegerDigits[a[n-1]+k]!=Union@IntegerDigits[a[n-1]*k],k++];k);Array[a,70]

%o (Python)

%o from itertools import count, islice

%o def agen(): # generator of terms

%o an, aset = 1, {1}

%o while True:

%o yield an

%o an = next(k for k in count(2) if k not in aset and set(str(an+k)) == set(str(an*k)))

%o aset.add(an)

%o print(list(islice(agen(), 66))) # _Michael S. Branicky_, Apr 03 2024

%K nonn,base

%O 1,2

%A _Giorgos Kalogeropoulos_, Apr 03 2024