title: Sympy dsolve answers depends on the order of the input?
body: <p>Why do the answers that sympy's dsolve function gives, depend on the order in which the equations are given?</p>
  
  <p>This order (x, then y, then z):        </p>
  
  <pre><code>    k2, k3, t = symbols('k2 k3 t')
      x,y,z = symbols('x y z', function=True)
  
      eq = (Eq(Derivative(x(t),t), k3*y(t)), Eq(Derivative(y(t),t), -(k3+k2)*y(t)), Eq(Derivative(z(t),t), k2*y(t)))
      dsolve(eq)
  </code></pre>
  
  <p>gives:</p>
  
  <pre><code>   [Eq(x(t), C1 + C2*t + C3*k3*exp(t*(-k2 - k3))/k2), Eq(y(t), -C3*(k2 + k3)*exp(t*(-k2 - k3))/k2), Eq(z(t), C2 + C3*exp(t*(-k2 - k3)))]
  </code></pre>
  
  <p>But when the order of eq is change (first z, then x, then y):</p>
  
  <pre><code>    k2, k3, t = symbols('k2 k3 t')
      x,y,z = symbols('x y z', function=True)
  
      eq = (Eq(Derivative(z(t),t), k2*y(t)), Eq(Derivative(x(t),t), k3*y(t)), Eq(Derivative(y(t),t), -(k3+k2)*y(t)))
  
      dsolve(eq, ics={z(0):0, x(0):0, y(0):1})
  </code></pre>
  
  <p>the answer is different.</p>
  
  <pre><code>[Eq(z(t), C1 + C2*t - C3*k2*exp(t*(-k2 - k3))/(k2 + k3)), Eq(x(t), C2 - C3*k3*exp(t*(-k2 - k3))/(k2 + k3)), Eq(y(t), C3*exp(t*(-k2 - k3)))]
  </code></pre>
  
  <p>Besides that, is the answer that dsolve gives not correct in both cases. Especially the constants C1, C2 and C3 are not correct. Giving the initial conditions as ics={x(0):0, y(0):1,...etc doesn't work or influence the answer.</p>