%I #20 Aug 24 2023 07:21:20
%S 1,1,2,2,3,3,1,3,1,1,4,4,4,4,4,2,6,3,4,3,6,2,4,2,1,1,2,4,2,3,2,1,0,3,
%T 0,1,2,5,2,2,2,2,2,2,5,4,8,4,8,4,8,4,8,4,8,1,3,2,1,0,1,0,0,1,0,1,2,5,
%U 2,2,1,5,0,1,1,2,2,1,4,4,2,2,0,4,0,0,4,0,2,2,4,2,8,2,2,1,4,4,4,4,4,1,2,2,8
%N T(n,m) is the number of m's in the fundamental period of Fibonacci numbers mod n.
%C T(n,m) is the triangle read by rows, 0<=m<n.
%C A118965 and A066853 give numbers of zeros and nonzeros in n-th row, respectively. - _Reinhard Zumkeller_, Jan 16 2014
%H Reinhard Zumkeller, <a href="/A128924/b128924.txt">Rows n = 1..125 of triangle, flattened</a>
%H G. Darvasi and St. Eckmann, <a href="https://eudml.org/doc/141577">Zur Verteilung der Reste der Fibonacci-Folge modulo 5c</a>, Elemente der Mathematik 50 (1995) pp. 76-80.
%F T(n,n) = A235715(n). - _Reinhard Zumkeller_, Jan 17 2014
%e {F(k) mod 4} has fundamental period (0,1,1,2,3,1), see A079343, with
%e T(4,0)=1 zero, T(4,1)=3 ones, T(4,2)=1 two's, T(4,3)=1 three's. The triangle starts
%e 1,
%e 1, 2,
%e 2, 3, 3,
%e 1, 3, 1, 1,
%e 4, 4, 4, 4, 4,
%e 2, 6, 3, 4, 3, 6,
%e 2, 4, 2, 1, 1, 2, 4,
%e 2, 3, 2, 1, 0, 3, 0, 1,
%e 2, 5, 2, 2, 2, 2, 2, 2, 5,
%e 4, 8, 4, 8, 4, 8, 4, 8, 4, 8,
%e 1, 3, 2, 1, 0, 1, 0, 0, 1, 0, 1,
%e 2, 5, 2, 2, 1, 5, 0, 1, 1, 2, 2, 1,
%e 4, 4, 2, 2, 0, 4, 0, 0, 4, 0, 2, 2, 4,
%e 2, 8, 2, 2, 1, 4, 4, 4, 4, 4, 1, 2, 2, 8,
%e 2, 3, 3, 2, 3, 3, 2, 3, 3, 2, 3, 3, 2, 3, 3,
%e 2, 3, 4, 1, 0, 3, 0, 1, 2, 3, 0, 1, 0, 3, 0, 1,
%e 4, 4, 2, 2, 4, 2, 0, 0, 2, 2, 0, 0, 2, 4, 2, 2, 4,
%p A128924 := proc(m,h)
%p local resul,k,M ;
%p resul :=0 ;
%p for k from 0 to A001175(m)-1 do
%p M := combinat[fibonacci](k) mod m ;
%p if M = h then
%p resul := resul+1 ;
%p end if ;
%p end do;
%p resul ;
%p end proc:
%p seq(seq(A128924(m,h),h=0..m-1),m=1..17) ;
%t A001175[1] = 1; A001175[n_] := For[k = 1, True, k++, If[Mod[Fibonacci[k], n] == 0 && Mod[Fibonacci[k+1], n] == 1, Return[k]]]; T[m_, h_] := Module[{resul, k, M}, resul = 0; For[k = 0, k <= A001175[m]-1, k++, M = Mod[Fibonacci[k], m]; If[ M == h, resul++]]; Return[resul]]; Table[T[m, h], {m, 1, 17}, {h, 0, m-1}] // Flatten (* _Jean-François Alcover_, Feb 11 2015, after Maple code *)
%o (Haskell)
%o import Data.List (group, sort)
%o a128924 n k = a128924_tabl !! (n-1) !! (k-1)
%o a128924_tabl = map a128924_row [1..]
%o a128924_row 1 = [1]
%o a128924_row n = f [0..n-1] $ group $ sort $ g 1 ps where
%o f [] _ = []
%o f (v:vs) wss'@(ws:wss) | head ws == v = length ws : f vs wss
%o | otherwise = 0 : f vs wss'
%o g 0 (1 : xs) = []
%o g _ (x : xs) = x : g x xs
%o ps = 1 : 1 : zipWith (\u v -> (u + v) `mod` n) (tail ps) ps
%o -- _Reinhard Zumkeller_, Jan 16 2014
%Y Cf. A053029, A053030, A053031, A001175 (row sums), A001176 (1st column).
%K nonn,tabl
%O 1,3
%A _R. J. Mathar_, Apr 25 2007