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))
In [ ]: