AtCoder Beginner Contest 166 D - I hate Factorization【Python】

https://atcoder.jp/contests/abc166/tasks/abc166_d

AtCoder ProblemsのRecommendationでDifficulty: 694、Solve Probability: 36%でした。
何度もWAとなってしまい、ユーザー解説
https://blog.hamayanhamayan.com/entry/2020/05/03/224316
を見たところ探索範囲が小さかったことが原因でした。

X = int(input())
# i ** 5とiを列挙
pow5 = []
for i in range(10**10):
    if i ** 5 > 10**20:
        break
    pow5.append([i ** 5, i])
for i in range(len(pow5)):
    for j in range(len(pow5)):
        ai5, ai1 = pow5[i]
        bi5, bi1 = pow5[j]
        if ai5 - bi5 == X:
            ansa = ai1
            ansb = bi1
            print(ansa, ansb)
            exit()
        elif ai5 - (-bi5) == X:
            ansa = ai1
            ansb = -bi1
            print(ansa, ansb)
            exit()