OFFSET
1,3
COMMENTS
0, 1, 8 and 144 are the only Fibonacci numbers that are themselves perfect powers (see A227875).
A term might have multiple permutations which are perfect powers.
Leading 0 digits are allowed in the perfect power, so that 610 is a term since 016 = 2^4.
From David A. Corneth, Feb 17 2024: (Start)
Four ideas to find terms:
1. For each Fibonacci number, check each anagram to determine whether it is a perfect power. A Fibonacci number is a term if and only if such an anagram exists.
2. Let q be the number of digits of some Fibonacci number F. Then check all perfect powers m < 10^q if the frequency of positive digits matches the corresponding positive digits of F and F has at least as many 0's as m. E.g., 610 is a term as the perfect power 16 has the same number of 1's, and the same number of 6's, and 610 has at least as many 0's as 16.
3. Match the last digits of perfect powers and whittle down the number of candidates. So for 46368, a perfect square must end in 4 or 6 for the last digit, 36, 64 or 84 for the last two digits and so on.
4. If some Fibonacci number F has q digits then we could list the possible strings the first floor((q + 1)/2) such numbers could form and see what squares start with those digits. (End)
a(46) = 1500520536206896083277. Some other terms: 3928413764606871165730, 6356306993006846248183, 10284720757613717413913, 16641027750620563662096, 26925748508234281076009, 43566776258854844738105, 3311648143516982017180081, 5358359254990966640871840, 8670007398507948658051921, 14028366653498915298923761, 155576970220531065681649693, 659034621587630041982498215, 30960598847965113057878492344. - Chai Wah Wu, Mar 27 2024
LINKS
Michael S. Branicky, Table of n, a(n) for n = 1..45
EXAMPLE
46368 is a term because it is a Fibonacci number whose digits can be permuted to 36864 = 192^2 (and also to 86436 = 294^2).
PROG
(PARI) isok(f) = my(d=digits(f), n=#d); for (i=1, n!, my(p=numtoperm(n, i), dd=vector(#d, i, d[p[i]])); if (ispower(fromdigits(dd)), return(1)); );
lista(nn) = my(list = List([0, 1])); for (n=3, nn, my(f=fibonacci(n)); if (isok(f), listput(list, f)); ); Vec(list); \\ Michel Marcus, Feb 17 2024
(Python)
from itertools import count, islice
from sympy import integer_log
def A370071_gen(): # generator of terms
a, b = 1, 2
yield from (0, 1)
while True:
s = sorted(str(b))
l = len(s)
m = int(''.join(s[::-1]))
u = int(''.join(s))
for i in count(2):
if i**2 > m:
break
for j in count(max(2, integer_log(u, i)[0])):
if (k:=i**j) > m:
break
t = sorted(str(k))
if ['0']*(l-len(t))+t == s:
yield b
break
else:
continue
if k<=m:
break
a, b = b, a+b
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Gonzalo MartÃnez, Feb 08 2024
EXTENSIONS
a(19) inserted and a(21)-a(23) by Michael S. Branicky, Feb 17 2024
More terms from David A. Corneth, Feb 17 2024
STATUS
approved