Metodo di fattorizzazione di Eulero
# Metodo di fattorizzazione di Eulero

Il metodo di fattorizzazione di Eulero è un algoritmo ideato da Eulero per fattorizzare dei numeri naturali in numeri primi.

Si basa sulla rappresentazione del numero n (da fattorizzare) come somma di due quadrati in due modi distinti, e per questo non è applicabile né a numeri nella forma 4k+3, né a quelli in cui un numero primo di questa forma è presente ad un esponente dispari nella fattorizzazione di n. Questo ne riduce grandemente il campo di applicabilità, perché anche molti semiprimi nella forma 4k+1 sono prodotto di due primi del tipo 4k+3.

Per questo motivo non è spesso usato come metodo di fattorizzazione, perché non è possibile sapere a priori se un dato numero sia o meno fattorizzabile con quest'algoritmo.

## Algoritmo

Data una doppia scrittura di n come somma di due quadrati:

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

(a, b, c e d possono essere trovati, ad esempio, con delle tavole dei quadrati) e supponendo che b e d abbiano la stessa parità (cioè siano entrambi pari o entrambi dispari), e che a sia maggiore di c (e conseguentemente d maggiore di b) si ha

    $a^{2}-c^{2}=(a-c)(a+c)=(d-b)(d+b)=d^{2}-b^{2}$

(a-c) e (d-b) sono entrambi pari, e quindi hanno un massimo comun divisore k non banale (che può essere trovato velocemente con l'uso dell'algoritmo euclideo); ponendo

    $a-c=kA,~~~d-b=kB$

risulta che A e B sono coprimi. Sostituendo si ha

    $kA(a+c)=kB(d+b)$

e quindi, per il lemma di Euclide, A divide d+b e B divide a+c, e in particolare, se $a+c=BC$,

    $kABC=kB(d+b)\Longrightarrow AC=d+b$.

A questo punto, considerando la quantità

    $\left[\left({\frac {k}{2}}\right)^{2}+\left({\frac {C}{2}}\right)^{2}\right]\cdot (A^{2}+B^{2})$

e svolgendo i conti, questa risulta essere uguale a n, e quindi è una sua fattorizzazione non banale.

