title: Solving ODE with Python reversely
body: <p>In Python we solve a differential equation <code>OD_H</code> with an initial point <code>y0 = od0</code> in a specific point <code>z</code> similar to the following code</p>
  
  <pre><code>def OD_H(od, z, c, b):
     ....
     return ....
  
  od = solve_ivp(lambda od, z: OD_H(od, z, c, b), t_span = [z1, z], y0 = [od0])['y'][-1][-1]
  </code></pre>
  
  <p>or</p>
  
  <pre><code>od = odeint(OD_H, od0, [0, z], args=(c, b))[-1]
  </code></pre>
  
  <p>So we have</p>
  
  <p><code>answer of ODE OD_H(y0 = 0.69, z=0.153) = 0.59</code></p>
  
  <p>My question is,</p>
  
  <p>Now If I have the answer of <code>OD_H = 0.59</code> and <code>y0 = 0.69</code>, how could I obtain <code>z</code>? It should be <code>0.153</code> but consider we don't know its value and we cannot do trial and error to find it.</p>
  
  <p>I appreciate your help.</p>