# Project Euler Problem 29: Distinct Powers¶

The source code for this problem can be found here.

## Problem Statement¶

Consider all integer combinations of $$a^b$$ for $$2 \le a \le 5$$ and $$2 \le b \le 5$$:

$\begin{split}&2^2=4, &2^3=8, &2^4=16, &2^5=32 \\ &3^2=9, &3^3=27, &3^4=81, &3^5=243 \\ &4^2=16, &4^3=64, &4^4=256, &4^5=1024 \\ &5^2=25, &5^3=125, &5^4=625, &5^5=3125 \\\end{split}$

If they are then placed in numerical order, with any repeats removed, we get the following sequence of $$15$$ distinct terms:

$4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125$

How many distinct terms are in the sequence generated by $$a^b$$ for $$2 \le a \le 100$$ and $$2 \le b \le 100$$?

## Solution Discussion¶

Nothing sophisticated here, explicitly perform the computation.

## Solution Implementation¶

from itertools import product

def solve():
""" Compute the answer to Project Euler's problem #29 """
upper_bound = 100
terms = set()
for a, b in product(range(2, upper_bound + 1), repeat=2):


solutions.problem29.solve()

Compute the answer to Project Euler’s problem #29