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”).

A344758
Smallest divisor d of n for which A011772(d) = A011772(n), where A011772(n) is the smallest number m such that m(m+1)/2 is divisible by n.
5
1, 2, 3, 4, 5, 2, 7, 8, 9, 5, 11, 12, 13, 14, 15, 16, 17, 9, 19, 20, 7, 22, 23, 8, 25, 13, 27, 4, 29, 30, 31, 32, 33, 17, 35, 9, 37, 38, 13, 8, 41, 42, 43, 44, 45, 46, 47, 48, 49, 25, 51, 52, 53, 54, 11, 56, 19, 29, 59, 20, 61, 62, 63, 64, 65, 22, 67, 17, 69, 70, 71, 72, 73, 37, 25, 76, 77, 13, 79, 80, 81, 41, 83
OFFSET
1,2
LINKS
FORMULA
a(n) = n / A344759(n).
EXAMPLE
36 has 9 divisors: 1, 2, 3, 4, 6, 9, 12, 18, 36. When A011772 is applied to them, one obtains values [1, 3, 2, 7, 3, 8, 8, 8, 8], thus there are four divisors that obtain the maximal value 8 obtained at 36 itself, of which divisor 9 is the smallest, and therefore a(36) = 9.
PROG
(PARI)
A011772(n) = { if(n==1, return(1)); my(f=factor(if(n%2, n, 2*n)), step=vecmax(vector(#f~, i, f[i, 1]^f[i, 2]))); forstep(m=step, 2*n, step, if(m*(m-1)/2%n==0, return(m-1)); if(m*(m+1)/2%n==0, return(m))); }; \\ From A011772
A344758(n) = { my(x=A011772(n)); fordiv(n, d, if(A011772(d)==x, return(d))); };
(Python 3.8+)
from itertools import combinations
from math import prod
from sympy import factorint, divisors
from sympy.ntheory.modular import crt
def A011772(n):
plist = [p**q for p, q in factorint(2*n).items()]
if len(plist) == 1:
return n-1 if plist[0] % 2 else 2*n-1
return min(min(crt([m, 2*n//m], [0, -1])[0], crt([2*n//m, m], [0, -1])[0]) for m in (prod(d) for l in range(1, len(plist)//2+1) for d in combinations(plist, l)))
def A344758(n):
m = A011772(n)
for d in divisors(n):
if A011772(d) == m:
return d # Chai Wah Wu, Jun 03 2021
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, May 31 2021
STATUS
approved