# Why bitcoin's generator point does not satisfy Elliptic Curve Cryptography equation?

This is my Python program:

``````Acurve = 0
Bcurve = 7
Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798

print(Gy**2 == Gx**3 + Bcurve)
print(Gy**2)
print(Gx**3 + Bcurve)
``````

This is the output:

``````False
1067362225016502275772194909503713869376985974142797512091458491530306631211206623652669436957676354343630306950631573032330832513385319878364322508915776
166977061698153803977729810299616665720111080589888563362701662779994291659333477169534477572723704285154275133397811778652651956291844366636068483203593094558427352525126936769086968791554813695916119291254705683450242657305024007
``````

Why is the equation not satisfied for the generator point?

The secp256k1 arithmetic is defined over the finite field of integers modulo 2256 - 232 - 977.

The following code works:

``````M = 2**256 - 2**32 - 977
Acurve = 0
Bcurve = 7
Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
``````True