Given a number n, we need to find the product of all of its unique prime factors. Prime factors: It is basically a factor of the number that is a prime number itself.

**Examples:**

Input:num = 10Output:Product is 10Explanation:Here, the input number is 10 having only 2 prime factors and they are 5 and 2. And hence their product is 10.Input :num = 25Output:Product is 5Explanation:Here, for the input to be 25 we have only one unique prime factor i.e 5. And hence the required product is 5.

**Method 1 (Simple)**

Using a loop from i = 2 to n and check if i is a factor of n then check if i is prime number itself if yes then store product in product variable and continue this process till i = n.

`# Python program to find sum of given ` `# series. ` ` ` `def` `productPrimeFactors(n): ` ` ` `product ` `=` `1` ` ` ` ` `for` `i ` `in` `range` `(` `2` `, n` `+` `1` `): ` ` ` `if` `(n ` `%` `i ` `=` `=` `0` `): ` ` ` `isPrime ` `=` `1` ` ` ` ` `for` `j ` `in` `range` `(` `2` `, ` `int` `(i` `/` `2` `+` `1` `)): ` ` ` `if` `(i ` `%` `j ` `=` `=` `0` `): ` ` ` `isPrime ` `=` `0` ` ` `break` ` ` ` ` `# condition if \'i\' is Prime number ` ` ` `# as well as factor of num ` ` ` `if` `(isPrime): ` ` ` `product ` `=` `product ` `*` `i ` ` ` ` ` `return` `product ` ` ` ` ` ` ` `# main() ` `n ` `=` `44` `print` `(productPrimeFactors(n)) ` ` ` `# Contributed by _omg ` |

**Output:**

22

**Method 2 (Efficient) :**

The idea is based on Efficient program to print all prime factors of a given number

`# Python program to find product of ` `# unique prime factors of a number ` ` ` `import` `math ` ` ` `def` `productPrimeFactors(n): ` ` ` `product ` `=` `1` ` ` ` ` `# Handle prime factor 2 explicitly so that ` ` ` `# can optimally handle other prime factors. ` ` ` `if` `(n ` `%` `2` `=` `=` `0` `): ` ` ` `product ` `*` `=` `2` ` ` `while` `(n` `%` `2` `=` `=` `0` `): ` ` ` `n ` `=` `n` `/` `2` ` ` ` ` `# n must be odd at this point. So we can ` ` ` `# skip one element (Note i = i +2) ` ` ` `for` `i ` `in` `range` `(` `3` `, ` `int` `(math.sqrt(n)), ` `2` `): ` ` ` `# While i divides n, print i and ` ` ` `# divide n ` ` ` `if` `(n ` `%` `i ` `=` `=` `0` `): ` ` ` `product ` `=` `product ` `*` `i ` ` ` `while` `(n` `%` `i ` `=` `=` `0` `): ` ` ` `n ` `=` `n` `/` `i ` ` ` ` ` `# This condition is to handle the case when n ` ` ` `# is a prime number greater than 2 ` ` ` `if` `(n > ` `2` `): ` ` ` `product ` `=` `product ` `*` `n ` ` ` ` ` `return` `product ` ` ` `# main() ` `n ` `=` `44` `print` `(` `int` `(productPrimeFactors(n))) ` ` ` `# Contributed by _omg ` |

**Output:**

22

Please refer complete article on Product of unique prime factors of a number for more details!