# Solving systems of differential algebraic equations: Is it legitimate to hold some variables constant?

I have a system of linear differential and algebraic equations, along with some non-linear equations. That is, I have a system of equations that can be written in the form $\mathbf{A}y'(t) + \mathbf{B}y(t) + \mathbf{c} = f(t)$ where y and f are a vector of equations.

I'm looking to be able to numerically compute $y(t)$, specifically what I need is an expression for $y(t+h)$ in terms of $y(t)$ using the backward Euler or the trapezoid method.

I'm quite aware that these equations are very difficult to solve. My question is this: I've found several references that appear to solve systems like this by essentially holding f(t) constant and using it's previous value, then solving the rest of the system. After the new state of the linear variables is found, an updated value for f(t) is solved.

Furthermore, although it is not obvious to me from the techniques I've found, they must be using a similar technique even when solving the rest of the equation with a static f(t), because as far as I know, it is extremely difficult to compute a closed form solution to $\mathbf{A}y'(t) + \mathbf{B}y(t) + \mathbf{c} = 0$ when A is singular (if I'm wrong about this, I'd love to know!). Therefore, I'd like to actually apply this "trick" of holding variables constant to their previous value twice: for both the algebraic variables of y, and the non-linear equations f.

Intuitively, it makes sense that this could work. However, I'm quite skeptical about it. I've implemented it and it works, but it makes me nervous because it seems possible to produce a 'plausible' enough solution to my system that I think it's working, but not a realistic one. For all of the simple systems that I can verify with more rigorous methods, it does produce good results.