Sorry I don't have maxima. Equations are solved with FindRoot().
I also had to make some alterations. Original y(x) function has unit mismatch. Solvers don't like direct usage of if() or cases(). You can detect it with Unknowns(). If it doesn't produce a result, there is a problem.
I assumed C.1 and C.2 has same units. Maybe I was wrong at that conclusion. Worksheet below find a solution between 4-6. This may be the correct result. Sorry if I made a huge mistake.