%I #19 Dec 10 2023 17:16:15
%S 0,5,5,9,0,9,13,11,11,13,21,13,0,13,21,25,23,29,29,23,25,33,25,21,0,
%T 21,25,33,37,35,51,43,43,51,35,37,45,37,69,27,0,27,69,37,45,57,47,39,
%U 69,131,131,69,39,47,57,61,59,91,113,67,0,67,113,91,59,61,73,61,59,139,153,103,103,153,139,59,61,73
%N Array read by antidiagonals: T(n,k) (n>=1, k>=1) = f(prime(n),prime(k)), where f(x,y) = x*red_inv(x,y) + y*red_inv(y,x) if gcd(x,y)=1, or 0 if gcd(x,y)>1, and red_inv is defined in the comments.
%C If u, v are positive integers with gcd(u,v) = 1, the "reduced inverse" red_inv(u,v) of u mod v is u^(-1) mod v if u^(-1) mod v <= v/2, otherwise it is v - u^(-1) mod v.
%C That is, we map u to whichever of +-u has a representative mod v in the range 0 to v/2. Stated another way, red_inv(u,v) is a number r in the range 0 to v/2 such that r*u == +-1 mod v.
%C For example, red_inv(3,11) = 4, since 3^(-1) mod 11 = 4. But red_inv(2,11) = 5 = 11-6, since red_inv(2,11) = 6.
%C Arises in the study of A344005.
%H N. J. A. Sloane, <a href="/A347682/b347682.txt">Table of n, a(n) for n = 1..5050</a> [First 100 antidiagonals, flattened]
%e The array begins:
%e 0, 5, 9, 13, 21, 25, 33, 37, 45, 57, 61, 73,...
%e 5, 0, 11, 13, 23, 25, 35, 37, 47, 59, 61, 73,...
%e 9, 11, 0, 29, 21, 51, 69, 39, 91, 59, 61, 149,...
%e 13, 13, 29, 0, 43, 27, 69, 113, 139, 57, 125, 223,...
%e 21, 23, 21, 43, 0, 131, 67, 153, 45, 175, 309, 221,...
%e 25, 25, 51, 27, 131, 0, 103, 77, 183, 233, 311, 443,...
%e 33, 35, 69, 69, 67, 103, 0, 305, 137, 407, 373, 443,...
%e 37, 37, 39, 113, 153, 77, 305, 0, 229, 115, 495, 75,...
%e ...
%e The first few antidiagonals are:
%e [0]
%e [5, 5]
%e [9, 0, 9]
%e [13, 11, 11, 13]
%e [21, 13, 0, 13, 21]
%e [25, 23, 29, 29, 23, 25]
%e [33, 25, 21, 0, 21, 25, 33]
%e [37, 35, 51, 43, 43, 51, 35, 37]
%e ...
%p myfun1 := proc(A,B) local Ar,Br;
%p if igcd(A,B) > 1 then return(0); fi;
%p Ar:=(A)^(-1) mod B;
%p if 2*Ar > B then Ar:=B-Ar; fi;
%p Br:=(B)^(-1) mod A;
%p if 2*Br > A then Br:=A-Br; fi;
%p A*Ar+B*Br;
%p end;
%p myfun2:=(i,j)->myfun1(ithprime(i),ithprime(j));
%p for i from 1 to 30 do lprint([seq(myfun2(i-j+1,j),j=1..i)]); od:
%Y Cf. A344005, A347681, A347683, A347684.
%Y Rows 1 and 2 are (essentially) A076274 and A208296.
%K nonn,tabl
%O 1,2
%A _N. J. A. Sloane_, Sep 18 2021