Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Suggest an algorithm for factorizing an integer such that each of its factor is square-free.


share|cite|improve this question
Googling around I found the claim "Squarefree factorization of integers is presently as difficult as complete factorization" in the paper A FAST ALGORITHM TO COMPUTE CUBIC FIELDS by K. BELABAS (MATHEMATICS OF COMPUTATION Volume 66, Number 219, July 1997, Pages 1213-1237) – j.p. Dec 17 '10 at 13:33
up vote 6 down vote accepted

It's trivial given the complete factorization into primes. Currently we do not know any other way to compute squarefree parts and it is widely suspected that it cannot be computed in any simpler way.

This problem is important because one of the main tasks of computational algebraic number theory reduces to it (in deterministic polynomial time). Namely the problem of computing the ring of integers of an algebraic number field depends upon the square-free decomposition of the polynomial discriminant when computing an integral basis.

Contrast this difficulty with the trivial squarefree decomposition of polynomials by way of gcd with its derivative. The availability of derivatives for polynomials opens up a powerful toolbox that is not available for integers. For example once derivatives are available so are Wronskians - which provide powerful measures of dependence in transcendence theory and diophantine approximation. A simple yet stunning example is the elementary proof of the polynomial case of Mason's ABC theorem, which yields as a very special case a high-school-level proof of FLT for polynomials.

For references see my post here.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.