# DSolve not solving my system of ODEs

Does anyone know why DSolve does not work for this set of differential equations?

DSolve[{
ca1'[t] == -K1 ca1[t] cb1[t] + K2 cab1[t],
cb1'[t] == -K1 ca1[t] cb1[t] + K2 cab1[t] - K3 cb1[t] cc1[t] + K4 cbc1[t],
cab1'[t] == K1 ca1[t] cb1[t] - K2 cab1[t],
cc1'[t] == -K3 cb1[t] cc1[t] + K4 cbc1[t],
cbc1'[t] == K3 cb1[t] cc1[t] - K4 cbc1[t],
ca1[0] == 100, cb1[0] == 100, cab1[0] == 0, cc1[0] == 100, cbc1[0] == 0},
{ca1, cb1, cab1, cc1, cbc1}, t]


The output is just a reiteration of the above input.

• I'm voting to close this question as off-topic because it is too localized; i.e, it applies only to the local situation and needs of its poster and answers will not benefit others. – m_goldberg Apr 22 '17 at 21:59
• I learned from it, as an example for a Mathematica newbie. I could have learned more, maybe. – sigoldberg1 Apr 23 '17 at 2:20
• {cab1, cbc1, cab1} can be eliminated symbolically from the equations, leaving a second-order system. The system can be further reduced, if K1/K2 == K3/K4. – bbgodfrey Apr 23 '17 at 5:33

It may be that there is no closed form solution. However, with the constants assigned numerical values, NDSolve can find a numerical solution:

constants = {K1 -> 1, K2 -> 1, K3 -> 1, K4 -> 1};

sol = NDSolveValue[{ca1'[t] == -K1 ca1[t] cb1[t] + K2 cab1[t],
cb1'[t] == -K1 ca1[t] cb1[t] + K2 cab1[t] - K3 cb1[t] cc1[t] +
K4 cbc1[t], cab1'[t] == K1 ca1[t] cb1[t] - K2 cab1[t],
cc1'[t] == -K3 cb1[t] cc1[t] + K4 cbc1[t],
cbc1'[t] == K3 cb1[t] cc1[t] - K4 cbc1[t], ca1[0] == 100,
cb1[0] == 100, cab1[0] == 0, cc1[0] == 100, cbc1[0] == 0} /.
constants, {ca1[t], cb1[t], cab1[t], cc1[t], cbc1[t]}, {t, 0, .1}];

Plot[sol // Evaluate, {t, 0, .1},
PlotLegends -> {ca1[t], cb1[t], cab1[t], cc1[t], cbc1[t]}]