In [38]:
def countWays(x, n):
    dp = [1] + [0] * x
    for i in range(1, int(pow(x, 1 / n)) + 1):
        u = i ** n
        for j in range(x, u - 1, -1):
            dp[j] += dp[j - u]
    return(dp[-1])

In [40]:
print(countWays(10, 2))


1

In [ ]: