From: Zachar István on
Dear All,

the following call gives different results under different Mathematica
versions.

DSolve[{x'[t] == k x[t]^p, x[0] == c}, x[t], t]

On one Mathematica, it produces a solution, but not in the other. There are no
autoloaded packages on either of the machines. Under Mathematica 7.0.1.0
(Lenovo ThinkPad X200 Intel Core 2 Duo CPU 2.27 GHz 2.27GHz with Win
7), and Mathematica 6 (on a Sony Vaio with Vista) the result is:

-----------------[code start]-----------------

In[1]:= DSolve[{x'[t] == k x[t]^p, x[0] == c}, x[t], t]

Solve::ifun: Inverse functions are being used by Solve, so some
solutions may not be found; use Reduce for complete solution
information. >>

Solve::ifun: Inverse functions are being used by Solve, so some
solutions may not be found; use Reduce for complete solution
information. >>

Out[1]= {{x[t] -> ((-1 + p) (c^(1 - p)/(-1 + p) - k t))^(1/(1 - p))}}

-----------------[code end]-----------------

Under Mathematicah 7.0.0 (HP EliteBook 8440p Intel Core i5 CPU M 520 @ 2.4 Ghz
2.4Ghz, with Win 7):

-----------------[code start]-----------------

In[1]:= DSolve[{x'[t] == k x[t]^p, x[0] == c}, x[t], t]

During evaluation of In[2]:= Solve::ifun: Inverse functions are being
used by Solve, so some solutions may not be found; use Reduce for
complete solution information. >>

During evaluation of In[2]:= Solve::ifun: Inverse functions are being
used by Solve, so some solutions may not be found; use Reduce for
complete solution information. >>

During evaluation of In[2]:= Solve::ifun: Inverse functions are being
used by Solve, so some solutions may not be found; use Reduce for
complete solution information. >>

During evaluation of In[2]:= General::stop: Further output of
Solve::ifun will be suppressed during this calculation. >>

During evaluation of In[2]:= DSolve::bvnul: For some branches of the
general solution, the given boundary conditions lead to an empty
solution. >>

Out[1]= {}

-----------------[code end]-----------------

I've just tried it under Mathematica 7.0.1.0 in the very same HP EliteBook
machine, and it gives the correct solution (the first one), thus it is
a version-specific bug. What happened after 6.0 that causes 7.0.0 to
fail? And was it intentionally fixed in 7.0.1.0? I could not find any
information about this on the internet...
Is this bug (or at least inconsistency) known to others? Has anyone
discovered it before? The strange thing is that the documentation for
DSolve AND Solve (as the error messages refer to Solve which, I guess,
is used internally) state that the DSolve and Solve functions haven't
been changed since version 5.

Istvan