# Solving integro-differential equation with DSolve in MMA 11.0

In this question DSolve(symbolic solution) gives wrong answer.

I analyzed the 13 equations in which DSolve gives the same solution.

 ClearAll["Global*"];
Remove["Global*"];

eqn1 = y''[x] == 1 + y[x] - Integrate[y'[t], {t, 0, x}];
eqn2 = y''[x] == 1 + y[x] - Integrate[y'[x - t], {t, 0, x}];
eqn3 = y''[x] == 1 + y[x] - Integrate[y[x - t], {t, 0, x}];
eqn4 = y''[x] == 1 + y[x] - Integrate[y'[x + t], {t, 0, x}];
eqn5 = y''[x] == 1 + y[x] - Integrate[y[x + t], {t, 0, x}];
eqn6 = y''[x] == 1 + y[x] - Integrate[2*y'[t], {t, 0, x}];
eqn7 = y''[x] == 1 + y[x] - Integrate[t*y'[t], {t, 0, x}];
eqn8 = y''[x] == 1 + y[x] - Integrate[x*y'[t], {t, 0, x}];
eqn9 = y''[x] == 1 + y[x] - Integrate[y[t]/(1 + x), {t, 0, x}];
eqn10 = y''[x] == 1 + y[x] - Integrate[y'[t]/(1 + x), {t, 0, x}];
eqn11 = y''[x] == 1 + y[x] - Integrate[y'[t]/(1 + t), {t, 0, x}];
eqn12 = y''[x] == 1 + y[x] - Integrate[y'[t]*Sin[t], {t, 0, x}];
eqn13 = y''[x] == 1 + y[x] - Integrate[y'[t]*Sin[x], {t, 0, x}];

ic = {y == 0, y' == 0};

sol1 = y[x] /. First@DSolve[{eqn1, ic}, y@x, x](*Wrong solution.It should be: y[x]=x^2/2 *)
sol2 = y[x] /. First@DSolve[{eqn2, ic}, y@x, x](*Wrong solution*)
sol3 = y[x] /. First@DSolve[{eqn3, ic}, y@x, x](*Wrong solution*)
sol4 = y[x] /. First@DSolve[{eqn4, ic}, y@x, x](*Wrong solution*)
sol5 = y[x] /. First@DSolve[{eqn5, ic}, y@x, x](*Wrong solution*)
sol6 = y[x] /. First@DSolve[{eqn6, ic}, y@x, x](*Wrong solution*)
sol7 = y[x] /. First@DSolve[{eqn7, ic}, y@x, x](*Wrong solution*)
sol8 = y[x] /. First@DSolve[{eqn8, ic}, y@x, x](*Wrong solution*)
sol9 = y[x] /. First@DSolve[{eqn9, ic}, y@x, x](*Wrong solution*)
sol10 = y[x] /. First@DSolve[{eqn10, ic}, y@x, x](*Wrong solution*)
sol11 = y[x] /. First@DSolve[{eqn11, ic}, y@x, x](*Wrong solution*)
sol12 = y[x] /. First@DSolve[{eqn12, ic}, y@x, x](*Wrong solution*)
sol13 = y[x] /. First@DSolve[{eqn13, ic}, y@x, x](*Wrong solution*)


Gives (*1/2 E^-x (-1 + E^x)^2*) the same answer for 13 equations?

The question is: is a bug?

Other equations that DSolve give wrong answer:

eqn14 = y''[x] == 1 + y[x] - Integrate[1 + y'[t], {t, 0, x}];
eqn15 = y''[x] == 1 + y[x] - Integrate[x + y'[t], {t, 0, x}];
eqn16 = y''[x] == 1 + y[x] - Integrate[t + y'[t], {t, 0, x}];
eqn17 = y''[x] == 1 + y[x] - Integrate[x + y[t], {t, 0, x}];
eqn18 = y''[x] == 1 + y[x] - Integrate[t + y[t], {t, 0, x}];
eqn19 = y''[x] == 1 + y[x] - Integrate[1 + y[t], {t, 0, x}];


Checks eqn19 equation:

sol19 = y[x] /. First@DSolve[{eqn19, ic}, y@x, x]
(D[#, {x, 2}] == 1 + # - Integrate[(1 + (# /. x -> t)), {t, 0, x}]) & /@ {sol19} // FullSimplify
(* {2 + x^2 == 2 (E^-x + x)} *)


not True.

Edited:

From Wolfram Technical Support:

Thank you for contacting Wolfram Technical Support. I have confirmed that DSolve is giving the wrong result for the examples you provided by direct substitution. I have filed a report with our developers regarding this issue, and included the example equations you provided. Thank you for bringing this to our attention. RE: [CASE:3808125]

• In Mathematica 9, it shows the following warning: DSolve::litarg: "To avoid possible ambiguity, the arguments of the dependent variable in [...eqn here...] should literally match the independent variables. " and does not evaluate anything. Dec 30 '16 at 0:08
• @NicoDean This type of equation is supported by DSolve since v11 :) Dec 30 '16 at 3:05

A clear pattern emerges. (The initial conditions are ignored for generality.)

(y[x] /. First@DSolve[#, y[x], x]) & /@ {eqn1, eqn2, eqn3, eqn4, eqn5,
eqn6, eqn7, eqn8, eqn9, eqn10, eqn11, eqn12, eqn13}
(* {-1 + E^x C + E^-x C, -1 + E^x C + E^-x C, -1 + E^x C + E^-x C, ... *)


indeed gives the same answer in each case, and the answer is the same as that from

(y[x] /. First@DSolve[#, y[x], x]) &[y''[x] == 1 + y[x]]
(* -1 + E^x C + E^-x C *)


Evidently, the integral is set to zero by DSolve. Consider next the second set of equations

(y[x] /. First@DSolve[#, y[x], x]) & /@ {eqn14, eqn15, eqn16, eqn17, eqn18, eqn19}
(* {-1 + x + E^x C + E^-x C, 1 + x^2 + E^x C + E^-x C,
x^2/2 + E^x C + E^-x C, 1 + x^2 + E^x C + E^-x C,
x^2/2 + E^x C + E^-x C, -1 + x + E^x C + E^-x C} *)


Now, compare these with the following, obtained by explicitly integrating the portions of the integrands independent of y and discarding the portions dependent on y.

(y[x] /. First@DSolve[y''[x] == 1 + y[x] - #, y[x], x]) & /@ {x, x^2, x^2/2, x^2, x^2/2, x}


The outputs are identical to those just above. DSolve simply ignores y-dependent integrands. Incidentally, this same behavior occurs in the equation of the earlier question cited in the first line of this question.

Surely, this is a bug.

Version 11.1 update (Still true for 11.3)

DSolve now returns unevaluated for all thirteen equations. Although perhaps unsatisfying, this certainly is better than returning the wrong answer.