OFFSET
1,2
COMMENTS
In the case of a(n) > 0, the AGM inequality shows a(n) >= 100 * n^(n/(n-1)). This bound gives a(2) >= 400, a(3) >= 520, a(4) >= 635, a(5) >= 748, a(6) >= 859.
a(n) is 100 times the smallest price r such that n prices exist whose sum and product both are equal to r. For example (see Guardian article link) 7.11 = 1.20 + 1.25 + 1.50 + 3.16 = 1.20 * 1.25 * 1.50 * 3.16.
Upper bounds for the next terms a(14)-a(18) are 1722, 1827, 1932, 2040, 2145. - Karl-Heinz Hofmann, Mar 02 2025
LINKS
Alex Bellos, Can you solve it? Sexy maths, 2. The 7-Eleven, The Guardian, 3 Feb 2025.
EXAMPLE
a(2) = 400 because 200 + 200 = 400 and 200 * 200 = 400 * 100^1 and no positive integer smaller than 400 exists with the requested properties.
For a(3) the sum is 525 = 150 + 175 + 200.
For a(4) it is 644 = 125 + 160 + 175 + 184.
For a(5) it is 759 = 125 + 125 + 160 + 165 + 184.
PROG
(PARI) hasTuple(n, divs, currentTuple, currentSum, currentPro, targetSum, targetPro, i0) = {
my(newSum, newPro);
if(#currentTuple == n, return(currentSum == targetSum && currentPro == targetPro));
for(i = i0, #divs,
newSum = currentSum + divs[i];
newPro = currentPro * divs[i];
if(newSum <= targetSum && targetPro % newPro == 0,
if(hasTuple(n, divs, concat(currentTuple, [divs[i]]), newSum, newPro, targetSum, targetPro, i), return(1));
);
);
return(0);
}
hasSolution(n, targetSum) = {
my(targetPro = targetSum * 100^(n-1));
hasTuple(n, divisors(targetPro), [], 0, 1, targetSum, targetPro, 1);
};
a(n) = {
if(n == 1, return(1));
for(s = ceil(100 * n^(n/(n-1))), +oo, if(hasSolution(n, s), return(s)));
};
for (n = 1, 5, print(a(n)));
CROSSREFS
KEYWORD
nonn,more,changed
AUTHOR
Markus Sigg, Feb 07 2025
EXTENSIONS
a(8)-a(9) from Hugo Pfoertner, Feb 13 2025
a(10)-a(12) from Hugo Pfoertner, Feb 16 2025
a(13) from Karl-Heinz Hofmann, Mar 02 2025
STATUS
approved