Enter a, b, c and d to multiply (a² + b²) by (c² + d²). The calculator returns two pairs whose squared components add to that product. Use integers to construct integer sums of two squares, or decimals to explore the same algebraic identity.
- Enter the components a and b of the first sum.
- Enter the components c and d of the second sum.
- Read the product and either output pair (x, y).
- Compare each pair’s x² + y² check with the product.
Keep the components from the same pair together. Negative components are valid because squaring removes their signs. The two pairs need not give distinct representations after signs and order are ignored.
| Quantity | Calculation | Result |
|---|---|---|
| First sum | 1² + 2² | 5 |
| Second sum | 3² + 4² | 25 |
| Product | 5 × 25 | 125 |
| Pair 1 | (1 × 3 − 2 × 4, 1 × 4 + 2 × 3) | (−5, 10) |
| Pair 1 check | (−5)² + 10² | 125 |
| Pair 2 | (1 × 3 + 2 × 4, 1 × 4 − 2 × 3) | (11, −2) |
| Pair 2 check | 11² + (−2)² | 125 |
Expanding (ac − bd)² gives a²c² − 2abcd + b²d². Expanding (ad + bc)² gives a²d² + 2abcd + b²c². Adding cancels the mixed terms, leaving a²c² + a²d² + b²c² + b²d², which factors as (a² + b²)(c² + d²). Reversing both paired signs gives the second form by the same cancellation.
For integer inputs, all output components are integers. This proves that multiplying two integers already represented as sums of two integer squares produces another integer with such a representation.
The identity is exact for real numbers. This calculator evaluates it numerically and displays results to eight decimal places, so rounding can hide very small values or produce slight differences between the product and the checks. Very large inputs or intermediate values can exceed the supported numeric range; an unavailable result is not zero. Dependent results may also become unavailable.
This tool constructs representations from the four supplied components. It does not find an initial sum-of-two-squares representation for an arbitrary integer, list every representation of the product, or provide arbitrary-precision integer arithmetic.

