Método de factorización de Euler
# Método de factorización de Euler

El método de factorización de Euler es un método de factorización basado en la representación de un entero positivo $N$ como la suma de dos cuadrados de dos maneras distintas:

    $N=a^{2}+b^{2}=c^{2}+d^{2}$

Aunque la factorización algebraica de números binomiales no sirve para factorizar sumas de dos cuadrados (en efecto un número que se puede expresar de una forma como suma de dos cuadrados es un número primo) si se pueden hallar dos representaciones distintas de un número como suma de dos cuadrados se sigue de ahí una factorización:

Partiendo de $N=a^{2}+b^{2}=c^{2}+d^{2}$

se resta $b^{2}+c^{2}$ a ambos lados de la igualdad para crear una diferencia de dos cuadrados:

    $a^{2}-c^{2}=d^{2}-b^{2}$

y de ahí se sigue que:

    $(a-c)\cdot (a+c)=(d-b)\cdot (d+b)$

Supóngase sin pérdida de generalidad que $d$ y $b$ son ambos pares o bien ambos impares, de forma que su diferencia es par. Ahora se define una constante $k$ igual al máximo común divisor de $(a-c)$ y $(d-b)$ de forma que:

    $(a-c)=kl$ y $(d-b)=km$, con $\operatorname {mcd} (l,m)=1$

de forma que, tras sustituir en la expresión anterior quedaría la siguiente ecuación:

    $l\cdot (a+c)=m\cdot (d+b)$

Como $l$ y $m$ son primos entre sí, se supone que $(a+c)$ es divisible por $m$, lo que nos daría como expresiones:

    $(a+c)=mn$ y;
    $(d+b)=ln$

La factorización del número original $N$ se puede mostrar que podría ser igual a:

    $N=\left[\left({\frac {k}{2}}\right)^{2}+\left({\frac {n}{2}}\right)^{2}\right]\cdot (m^{2}+l^{2})$

## Historia y aplicaciones

La idea de que dos representaciones distintas de un entero positivo diera lugar a una factorización fue aparentemente planteada por primera vez por Marin Mersenne. Sin embargo, no fue hasta Euler, cien años después y un poco más, que su uso empezara a extenderse. Su más celebrado uso del método que hoy lleva su nombre fue el de factorizar el número $N=1000009$, que, al parecer, se pensaba que era primo a pesar de que ninguno de los principales tests de primalidad lo da como pseudoprimo.

Como también:

    $1000009=1000^{2}+3^{2}=972^{2}+235^{2}$

se tiene por las fórmulas anteriores:

| a = 1000 | a - c = 28 | k = 4 |
| - | - | - |
| b = 3 | a + c = 1972 | l = 7 |
| c = 972 | d - b = 232 | m = 58 |
| d = 235 | d + b = 238 | n = 34 |

Así,

    ${\begin{aligned}1000009&=\left[\left({\frac {4}{2}}\right)^{2}+\left({\frac {34}{2}}\right)^{2}\right]\cdot (58^{2}+7^{2})\\&=(2^{2}+17^{2})\cdot (58^{2}+7^{2})\\&=(4+289)\cdot (3364+49)\\&=293\cdot 3413\end{aligned}}$

El método de factorización de Euler es más efectivo que el de Fermat para números naturales cuyos factores no sean próximos entre sí y es potencialmente mucho más eficiente que la división por tentativa si se pueden hallar representaciones de números como suma de cuadrados de forma razonablemente fácil. El desarrollo de Euler permitió una factorización mucho más eficiente, y, para los años 1910, el desarrollo de una tabla de factores de números hasta 10 millones. Los métodos empleados para encontrar representaciones de números como sumas de dos cuadrados son esencialmente los mismos que se usan para encontrar las diferencias de cuadrados en el método de Fermat.

## Desventaja

La gran desventaja del método de factorización de Euler es que no se puede emplear para factorizar un número que tenga algún factor primo de la forma 4k+3 elevado a una potencia impar en su factorización como producto de primos, ya que tal número no podría ser la suma de dos cuadrados. Incluso algunos números compuestos impares de la forma 4k+1 son el producto de dos primos de la forma 4k+3 (por ejemplo, 3053 = 43 × 71) y por ello no admiten factorización a través del método de Euler.

Esta restricción en su uso ha restado protagonismo al método de Euler en el campo de los algoritmos informáticos de factorización, ya que un usuario que intente factorizar un número aleatorio no tiene por qué saber (y en general no sabe) si el método de Euler se puede aplicar a ese número. Sólo recientemente se ha intentado desarrollar el método de Euler en forma de algoritmos informáticos para emplearse en números especiales en los que se sepa que se puede aplicar el método de Euler.

