login
Period of Fibonacci 3-step sequence A000073 mod n.
19

%I #46 Aug 27 2023 17:05:19

%S 1,4,13,8,31,52,48,16,39,124,110,104,168,48,403,32,96,156,360,248,624,

%T 220,553,208,155,168,117,48,140,1612,331,64,1430,96,1488,312,469,360,

%U 2184,496,560,624,308,440,1209,2212,46,416,336,620,1248,168

%N Period of Fibonacci 3-step sequence A000073 mod n.

%C Could also be called the tribonacci Pisano periods. [_Carl R. White_, Oct 05 2009]

%C Klaska notes that n=208919=59*3541 satisfies a(n) = a(n^2). - _Michel Marcus_, Mar 03 2016

%C 39, 78, 273, 546 also satisfy a(n) = a(n^2). - _Michel Marcus_, Mar 07 2016

%H T. D. Noe [1..1000] + Jean-François Alcover [1001..2000] + Zhong Ziqian [2001..20000], <a href="/A046738/b046738.txt">Table of n, a(n) for n = 1..20000</a>

%H Jirí Klaška, <a href="http://dml.cz/dmlcz/137497">A search for Tribonacci-Wieferich primes</a>, Acta Mathematica Universitatis Ostraviensis, vol. 16 (2008), issue 1, pp. 15-20.

%H Jirí Klaška, <a href="http://www.fq.math.ca/Papers1/46_47-4/Klaska.pdf">On Tribonacci-Wieferich primes</a>, Fibonacci Quart. 46/47 (2008/2009), no. 4, 290-297.

%H Jirí Klaška, <a href="http://dx.doi.org/10.1007/s10114-010-8433-8">Tribonacci partition formulas modulo m</a>, Acta Mathematica Sinica, English Series, March 2010, Volume 26, Issue 3, pp 465-476.

%H M. E. Waddill, <a href="https://www.fq.math.ca/Scanned/16-4/waddill.pdf">Some properties of a generalized Fibonacci sequence modulo m</a>, The Fibonacci Quarterly, vol. 16, no. 4, pp. 344-353 (1978).

%F a(3^k) = 13*3^(k-1) for k > 0. If a(p) != a(p^2) for p prime, then a(p^k) = p^(k-1)*a(p) for k > 0. [Waddill, 1978] - _Chai Wah Wu_, Feb 25 2022

%p a:= proc(n) local f, k, l; l:= ifactors(n)[2];

%p if nops(l)<>1 then ilcm(seq(a(i[1]^i[2]), i=l))

%p else f:= [0, 0, 1];

%p for k do f:=[f[2], f[3], f[1]+f[2]+f[3] mod n];

%p if f=[0, 0, 1] then break fi

%p od; k

%p fi

%p end:

%p seq(a(n), n=1..100); # _Alois P. Heinz_, Aug 27 2023

%t Table[a = {0, 1, 1}; a = a0 = Mod[a, n]; k = 0; While[k++; s = a[[3]] + a[[2]] + a[[1]]; a = RotateLeft[a]; a[[-1]] = Mod[s, n]; a != a0]; k, {n, 100}] (* _T. D. Noe_, Aug 28 2012 *)

%o (Python)

%o from itertools import count

%o def A046738(n):

%o a = b = (0,0,1%n)

%o for m in count(1):

%o b = b[1:] + (sum(b) % n,)

%o if a == b:

%o return m # _Chai Wah Wu_, Feb 27 2022

%Y Cf. A106302.

%Y Cf. A001175.

%K nonn

%O 1,2

%A _David W. Wilson_