login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A358404
Multipliers involving Fibonacci-like sequences and Pythagorean triples.
0
2, 3, 5, 8, 13, 21, 23, 34, 41, 61, 85, 89, 144, 233, 255, 264, 377, 383, 397, 443, 610, 762, 875, 987
OFFSET
1,1
COMMENTS
A positive integer m is an element of this sequence if and only if there exists a Pythagorean triple of the form (m*G_0, m*G_1, G_n), where (G_k) is a Fibonacci-like sequence, i.e., a sequence with arbitrary positive integer starting values G_0 and G_1 and satisfying the recurrence G_k = G_{k-1} + G_{k-2} for every index k > 1.
FORMULA
Each element of this list has a unique representation of the form m = m(c, j) = G_n / c, where j is an arbitrary nonnegative integer and c is "good", meaning that all of its prime divisors are of the form 4k + 1 and the Fibonacci entry point t of c is odd, in which case n = ((2j + 1)t + 1)/2 and (G_0, G_1, c) is the unique primitive Pythagorean triple such that G_0/G_1 is congruent to F_n/F_{n-1} modulo c.
EXAMPLE
m = m(5, 0) = 2, since the Fibonacci-like sequence (G_n) with G_0 = 4 and G_1 = 3 has G_3 = 10 and (m*G_0, m*G_1, G_3) = (8, 6, 10) is a Pythagorean triple. Since m = 2 is the smallest positive integer with this property, m(1) = 2.
MATHEMATICA
(* Fibonacci entry point *)
T[m_] :=
Module[{fi = FactorInteger[m], lenN, i, fi2, p, e, q, n1, divs,
nDivs, d, found, preres, result = 1},
If[m == 1, Return[1]];
len = Length[fi];
{p, e} = fi[[1]];
q = p^e;
If[len == 1,
If[p == 5, Return[q]];
If[e == 1,
result = p - JacobiSymbol[p, 5];
While[EvenQ[result] && Mod[Fibonacci[result], m] == 0,
result /= 2];
If[Mod[Fibonacci[result], m] != 0, result *= 2];
fi2 = FactorInteger[result];
If[EvenQ[result], Drop[fi2, 1]];
n1 = Product[fi2[[i, 1]]^fi2[[i, 2]], {i, Length[fi2]}];
divs = Divisors[n1];
nDivs = Length[divs];
found = False;
For[i = 2, i <= nDivs && ! found, i++,
d = divs[[i]];
If[Mod[Fibonacci[d], m] == 0,
found = True;
result = d;
Return[result];
];
],
result = p^(e - 1 - If[p == 2 && e > 2, 1, 0])*T[p];
Return[result];
],
result = LCM[T[q], T[m/q]];
];
result
];
(* Good moduli *)
GoodQ[m_] :=
Module[{fi, len, i, p, t},
If[m < 5, Return[False]];
fi = FactorInteger[m];
len = Length[fi];
For[i = 1, i <= len, i++,
p = fi[[i, 1]];
If[Mod[p, 4] != 1, Return[False]];
];
True
];
{* Great moduli *)
GreatQ[m_] := GoodQ[m] && OddQ[T[m]];
(* Fibonacci modular ratio *)
R[c_, k_] :=
Module[{f0 = Fibonacci[k], f1},
If[GCD[f0, c] > 1, Return[$Failed]];
f1 = Fibonacci[k + 1];
Mod[f1*PowerMod[f0, -1, c], c]
];
(* Starting pair for Fibonacci-like sequence *)
StartingPair[c_] :=
Module[{pr, len, i, r0, t, n, r, u, v, g0, g1, preres},
If[! GreatQ[c], Return[$Failed]];
t = T[c];
n = (t + 1)/2;
r0 = R[c, n - 1];
pr = PowersRepresentations[c, 2, 2];
len = Length[pr];
For[i = 1, i <= len, i++,
{u, v} = pr[[i]];
If[GCD[u, v] == 1,
r = Mod[v*PowerMod[u, -1, c], c];
preres = {Abs[u^2 - v^2], 2 u*v};
If[r == c - r0, Return[preres]];
If[r == r0, Return[Reverse[preres]]];
];
];
$Failed
];
(* Great modulus multiplier *)
M[c_, j_] :=
Module[{t, n0, n, g0, g1, result},
If[! GreatQ[c], Return[$Failed]];
{g0, g1} = StartingPair[c];
t = T[c];
n0 = (t + 1)/2;
n = n0 + j*t;
(g0*Fibonacci[n - 1] + g1*Fibonacci[n])/c
];
(* Master table *)
MasterTable[mMax_] :=
Module[{c, j, m, g0, g1, t, n0, n, done, result = {}},
For[c = 5, c <= GoldenRatio*mMax^2, c += 4,
While[! GreatQ[c], c += 4];
If[c <= GoldenRatio*mMax^2,
{g0, g1} = StartingPair[c];
t = T[c];
n0 = (t + 1)/2;
For[j = 0, j <= JMax[mMax, n0], j++,
n = n0 + j*t;
m = M[c, j];
If[m <= mMax, AppendTo[result, {g0, g1, c, m, n}]];
];
];
];
result
];
(* Multiplier list *)
MList[mMax_] := Union[MasterTable[mMax][[All, 4]]];
CROSSREFS
Cf. A000045.
Sequence in context: A268962 A121104 A118627 * A080787 A065124 A048817
KEYWORD
nonn
AUTHOR
David Terr, Nov 14 2022
STATUS
approved