code: func (BitCurve *BitCurve) IsOnCurve(x, y *big.Int) bool {
  	// y² = x³ + b
  	y2 := new(big.Int).Mul(y, y) //y²
  	y2.Mod(y2, BitCurve.P)       //y²%P
  
  	x3 := new(big.Int).Mul(x, x) //x²
  	x3.Mul(x3, x)                //x³
  
  	x3.Add(x3, BitCurve.B) //x³+B
  	x3.Mod(x3, BitCurve.P) //(x³+B)%P
  
  	return x3.Cmp(y2) == 0
  }
docs: // IsOnCurve returns true if the given (x,y) lies on the BitCurve.