%I #21 Nov 28 2023 16:29:36
%S 1,1,3,1,5,3,7,1,9,5,11,-3,13,7,15,1,17,9,19,5,21,11,23,9,25,13,27,-7,
%T 29,15,31,1,33,17,35,9,37,19,39,-15,41,21,43,-11,45,23,47,-15,49,25,
%U 51,13,53,27,55,-7,57,29,59,-15,61,31,63,1,65,33,67,17,69,35,71,9,73,37,75,-19
%N If n=r*2^s, r odd, then a(n)=t*r, where t is smallest (in magnitude) number such that 1=t*r+u*2^s.
%D J. Neukirch, Class Field Theory, Springer, p. 1.
%H Reinhard Zumkeller, <a href="/A040026/b040026.txt">Table of n, a(n) for n = 1..10000</a>
%e 24=3*2^3, 1=3*3-1*2^3, a(24)=3*3=9.
%t a[1] = a[2] = 1; a[n_?OddQ] := n; a[n_] := (s = IntegerExponent[n, 2]; r = n/2^s; eq = Reduce[1 == t*r + u*2^s, {t, u}, Integers] /. C[_] -> 0; t*r /. Solve[eq] // First ); Table[a[n], {n, 1, 76}] (* _Jean-François Alcover_, Jun 07 2013 *)
%o (C) for(n=1; n<=100; n++) { r=n; s=1; while((r&1)==0) { r>>=1; s<<=1; } for(t=1; t<9999; t++) { if(((t*r-1)%s)==0) { printf("%d,",t*r); break; } if(((t*r+1)%s)==0) { printf("%d,",-t*r); break; } } if((n%10)==0) printf("\n"); if(t==9999) exit(0); //"not found": error }
%o (Haskell)
%o a040026 n = f 1 where
%o f t | (1 - t*r) `mod` s == 0 = t*r
%o | (1 + t*r) `mod` s == 0 = - t*r
%o | otherwise = f (t + 1)
%o (r,s) = split n 1
%o split x y | m == 0 = split x' (2 * y)
%o | m == 1 = (x,y) where (x',m) = divMod x 2
%o -- _Reinhard Zumkeller_, Jul 21 2012
%Y |a(n)| differs from A000265, as a(24)=9.
%K sign,easy,nice,look
%O 1,3
%A _N. J. A. Sloane_
%E More terms from Arlin Anderson (starship1(AT)gmail.com)