Sub FHybrd(N As Long, X() As Double, Fvec() As Double, IFlag As Long)
If IFlag = 1 Or IFlag = 2 Then
Fvec(0) = X(0) ^ 2 - X(1) - 1
Fvec(1) = (X(0) - 2) ^ 2 + (X(1) - 0.5) ^ 2 - 1
End If
End Sub
Sub Ex_Hybrd1()
Const N = 2
Dim X(N - 1) As Double, Fvec(N - 1) As Double, XTol As Double, Info As Long
X(0) = 0: X(1) = 0
XTol = 0.0000000001 '1.0e-10
Call Hybrd1(AddressOf FHybrd, N, X(), Fvec(), XTol, Info)
Debug.Print "X1, X2 =", X(0), X(1)
Debug.Print "Info =", Info
End Sub