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

A349146
Number of ordered n-tuples (x_1, x_2, x_3, ..., x_n) such that Sum_{k=1..n} 1/x_k is an integer and x_k is an integer between 1 and n for 1 <= k <= n.
3
1, 1, 2, 5, 25, 82, 1310, 6757, 73204, 612534, 12021898, 100648935, 3293923530, 30781757528, 543076024093, 22444907405573, 490532466616585, 6321096033756031, 293288707966712654, 4209069624596495601, 231798923882314673793, 15160706809349856453181, 265850457583646602080422, 4542630089978045405518910
OFFSET
0,3
EXAMPLE
1/1 + 1/1 = 2 and 2 is an integer.
1/1 + 1/2 = 3/2.
1/2 + 1/1 = 3/2.
1/2 + 1/2 = 1 and 1 is an integer.
So a(2) = 2.
PROG
(Ruby)
def A(n)
return 1 if n == 0
cnt = 0
(1..n).to_a.repeated_permutation(n){|i|
cnt += 1 if (1..n).inject(0){|s, j| s + 1 / i[j - 1].to_r}.denominator == 1
}
cnt
end
def A349146(n)
(0..n).map{|i| A(i)}
end
p A349146(6)
(Python)
from math import lcm, factorial, prod
from collections import Counter
from itertools import combinations_with_replacement
def multiset_count(x): return factorial(len(x))//prod(factorial(d) for d in Counter(x).values())
def A349146(n):
k = lcm(*range(2, n+1))
dlist = tuple(k//d for d in range(1, n+1))
return sum(multiset_count(d) for d in combinations_with_replacement(range(1, n+1), n) if sum(dlist[e-1] for e in d) % k == 0) # Chai Wah Wu, Nov 09 2021
CROSSREFS
Sequence in context: A335213 A080626 A015957 * A268356 A329158 A337435
KEYWORD
nonn
AUTHOR
Seiichi Manyama, Nov 08 2021
EXTENSIONS
a(10)-a(23) from Alois P. Heinz, Nov 08 2021
STATUS
approved