[seqfan] Re: n consecutive perfect powers sum to a perfect power
jnthn stdhr
jstdhr at gmail.com
Thu Dec 14 07:43:36 CET 2023
Since there are no objections and a bit of interest, this sequence is now
https://oeis.org/A368161.
Cheers
On Wednesday, December 13, 2023, Jack Brennen <jfb at brennen.net> wrote:
> I've been looking for a solution for 9 consecutive powers.
>
> If one exists, it's greater than 6.8 * 10^19.
>
> Note that any such solution must include an odd power (cube, 5th power,
> etc.).
>
> This is because the sum of 9 consecutive squares is of the form 9k^2 + 60,
> which can't be a perfect power of course, because it's divisible by 3 with
> multiplicity of 1.
>
>
>
> On 12/13/2023 8:21 PM, Tim Peters wrote:
>
>> I'll attach a Python program that works to cut off sums when it becomes
>> futile to pursue them. I assume your algorithm isn't doing that, because
>> this only takes about 2 seconds to finish 10^10 (running under PyPy).
>>
>> At 10^14 it took noticeable (very noticeable ;-) ) time, but still didn't
>> find a solution for sums of 9 or 10 consecutive powers. It found 744
>> solutions in all, the longest being a sum of 59924 consecutive powers,
>> starting at 37711881, summing to 92121066512784 (the square of 9597972).
>>
>> The code:
>>
>> from math import isqrt
>>
>> TOP = 10**10
>> SHOW_DELETES = False
>>
>> ppset = {1}
>> for i in range(2, isqrt(TOP) + 1):
>> power = i
>> while (power := power * i) <= TOP:
>> ppset.add(power)
>> pp = sorted(ppset)
>> npp = len(pp)
>> MAXPP = pp[-1]
>> print(f"len(pp)={npp:_} through {TOP=:_}; {MAXPP=:_}")
>>
>> sums = pp[:]
>> nterms = 0
>> delta = 1
>> while sums:
>> ## # Crucial invariant, but expensive to check.
>> ## assert all(sums[i] == sum(pp[i : i + delta])
>> ## for i in range(len(sums)))
>> winner = -1
>> for i, s in enumerate(sums):
>> if s in ppset:
>> winner = s
>> assert sum(pp[i : i + delta]) == s
>> break
>> if winner > 0:
>> nterms += 1
>> print(nterms, delta, winner,
>> f"starting at pp[{i}] = {pp[i]}, {len(sums)=:_}")
>> if len(sums) + delta > npp:
>> sums.pop()
>> assert len(sums) + delta == npp
>> for i in range(len(sums)):
>> sums[i] += pp[i + delta]
>> if sums[i] > MAXPP:
>> if SHOW_DELETES:
>> print(" deleting", len(sums) - i,
>> "of", len(sums),
>> "at delta", delta)
>> del sums[i:]
>> break
>> ## assert sums == sorted(set(sums))
>> delta += 1
>>
>> On Wed, Dec 13, 2023 at 12:44 AM jnthn stdhr <jstdhr at gmail.com> wrote:
>>
>> Howdy, all.
>>>
>>> What is the least perfect power m (in A001597) that is the sum of n
>>> consecutive perfect powers.
>>>
>>> The sequence isn't in the database, and begins 1, 25, 441, 100, 169,
>>> 289,
>>> 121, 2395417249, -1, -1, 676, 232324, -1, -1, -1, 64866916, 3721,
>>> 3622354596, 279936, ..., with -1 representing no solution found up to
>>> ~10^10.
>>>
>>> For the first few terms, we have:
>>>
>>> {1}=1, {9+16}=25, {128+144+169}=441, {16+25+27+32}=100, etc.
>>>
>>> Should I add this? If so, up to a(8) only, or include the -1s?
>>>
>>> When I first searched for solutions, the maximum value of the set of
>>> perfect powers was ~10^8, and both a(8) and a(18) came out -1. But when
>>> I
>>> increased the max to 10^10 solutions for those two terms were found. At
>>> 10^8 I was able to get to 100+ terms in a somewhat reasonable time, with
>>> solutions becoming more and more sparse. At 10^10, things get very
>>> bogged
>>> down, but more solutions are found along the way. Also, the erratic
>>> nature
>>> of the terms seems to persist.
>>>
>>> Can a solution always be found if the set of perfect powers is large
>>> enough?
>>>
>>> -Jonathan
>>>
>>> --
>>> Seqfan Mailing list - http://list.seqfan.eu/
>>>
>>> --
>> Seqfan Mailing list - http://list.seqfan.eu/
>>
>>
>>
More information about the SeqFan
mailing list