Un altro modo di pervenire allo stesso teorema senza l'uso di moltiplicazione e divisione in C è il seguente:
P ha, rispetto a |P| e |P|·i, le stesse coordinate x e y che ha |P| rispetto a conj(P) e ort(conj(P));
quindi P = a + b·i = x·|P| + y·|P|·i e |P| = x·conj(P) + y·ort(conj(P)).
Esprimendo x e y tramite a e b, si ha x=a/|P| e y=b/|P|;
pertanto: |P| = (a/|P|)·conj(P) + (b/|P|)·ort(conj(P));
per cui: |P|² = a·conj(P) + b·ort(conj(P)) = a·(a-bi) + b·(b+ai) = a²+b².
Senza usare i numeri complessi, invece, si può procedere a ragionare nel seguente modo:
i punti P e |P| sono simmetrici rispetto ad una opportuna retta r passante per 0 (vedi la figura 5 con P'=|P|), il che comporta che P-|P| è perpedicolare a r, e quindi a (P+|P|)/2, punto medio fra P e |P|. Pertanto i vettori P-|P| e P+|P| sono perpendicolari. Quindi P-|P|=k·ort(P+|P|). Se P ha coordinate (a,b), indicando con m il modulo |P|, ricaviamo: (a-m,b)=k·ort(a+m,b), da cui (a-m,b)=k·(-b,a+m), ossia a-m=-kb e b=k(a+m), da cui segue: (a-m)(a+m)=-kb(a+m)=b², che comporta a²-m²=b², ovvero m²=a²+b².