### Related

sqfr(x^2+4*x+2);

Calculate

sqfr: 14=x-4;

Calculate

##### sqfr-true-verbose

verbose:true;

sqfr(3/(x+y)^2 - 4/(x...

Calculate

##### sqfr

sqfr(3/(x+y)^2 - 4/(x...

Calculate

##### sqfr

sqfr(x^2 + y^2 + 4*x*y);

Calculate

sqfr: 14=x-4;

Calculate

##### sqfr

sqfr (4*x^4*y^2 + 4*x...

Calculate

sqfr(16);

Calculate

sqfr(156);

Calculate

##### sqfr

sqfr (4*x^4 + 4*x^3 -...

Calculate

### sqfr

Run Example
```(%i1)sqfr(x^3-9);
3
(%o1)                               x  - 9
(%i2) remainder(expand((x^3+1)^3-2),a^3-9,a);
9      6      3
(%o2)                        x  + 3 x  + 3 x  - 1
(%i3) h:expand((x^2+2*x+5)^2*(x-1)^3*(x+2)*(x+1)^1);
9      8       7      6       5       4       3       2
(%o3) x  + 4 x  + 10 x  + 6 x  - 20 x  - 42 x  - 26 x  + 82 x  + 35 x - 50
(%i4) g:gcd(h,diff(h,x));
4      2
(%o4)                         x  + 2 x  - 8 x + 5
(%i5) c[1]:rat(h/g);
5      4      3      2
(%o5)/R/              x  + 4 x  + 8 x  + 6 x  - 9 x - 10
(%i6) d[1]:rat(diff(h,x)/g-diff(c[1],x));
4       3       2
(%o6)/R/               4 x  + 16 x  + 28 x  + 32 x + 16
(%i7) i:1;
(%o7)                                  1
(%i8) while c[i]#1 do (/*print("c[",i,"]=",c[i]),*//*print("d[",i,"]=",d[i]),*/f[i]:gcd(c[i],d[i]),if f[i]#1 then (print("f[",i,"]=",f[i])),c[i+1]:rat(c[i]/f[i]),d[i+1]:rat(d[i]/f[i]-diff(c[i+1],x)),i:i+1);
2
f[ 1 ]= x  + 3 x + 2
2
f[ 2 ]= x  + 2 x + 5
f[ 3 ]= x - 1
(%o8)                                done
(%i9) ```
Run Example
```sqfr((expand((x-2)^3*(x^2+1))));
3   2
(%o1)                          (x - 2)  (x  + 1)
(%i2) ```
Run Example
```sqfr: 14=x-4;
(%o1)                             14 = x - 4
(%i2) ```

Help for Sqfr