Why this call to DSolve gives this error in V 14.1?

Also reported to Wolfram support just in case. [CASE:5167904].

Is there a way to correct this error from the new version of Mathematica 14.1? I do not know what changed and what is wrong:

ode = y'[x] == Cos[x] - (Sin[x] - y[x]) *y[x];
DSolve[ode, y[x], x, IncludeSingularSolutions -> True]


I am using the new V 14.1 on windows 10 home edition.

Anyone else can duplicate this on other systems?

Just in case this is a bug, I also send email to Wolfram support as I am not sure what is going on.

Update

Here is another one:

ode=y'[x]==1+a*(x-y[x])*y[x]
DSolve[ode,y[x],x,IncludeSingularSolutions->True]


The strange thing is that DSolve keeps running and gives solution. But I am now not sure to trust the solution or not due to this message.

Update

Here is another one

ode = D[y[x], x] == y[x]/x - Tan[y[x]/x]
DSolve[ode, y[x], x, IncludeSingularSolutions -> True]


Update

Here is another one.

ClearAll["Global*"]
ode = (x*Sin[y[x]/x] - y[x]*Cos[y[x]/x]) + (x*Cos[y[x]/x])*D[y[x], x] == 0
DSolve[ode, y[x], x, IncludeSingularSolutions -> True]


• First, it pretty much has to be a bug, right? There's nothing wrong with your syntax. It looks like they forgot to check the result of Solve (similar to x0 = x /. Solve[x == x + 1, x][[1]]). Commented Aug 2 at 22:02
• @MichaelE2 Yes, I agree it has to be a bug. But strange thing DSolve still works and gives solution. Commented Aug 2 at 22:04
• Just because one sub-case equation being solved does not have a solution, does not mean any other solutions will be reject. For all I know, it meant that one solution strategy was rejected and DSolve moved on to try another. -- Do you know if any solutions are missing? Commented Aug 2 at 22:07
• @MichaelE2 both ode'a above are Riccati odes. Riccati ode have no singular solutions. Mathematica gives singular solution in the second example I posted $y=x$. As far as general solution(s), Mathematica gave 3 for the first example. I just checked with Maple, it only gave one general solution for both example. So No, Mathematica is not missing any solution, if anything, it is giving more solutions ! Commented Aug 2 at 22:19
• Note also that the 3rd solution to the 1st ODE has a divergent integral. One can set the initial point for the integration with either hack found here: mathematica.stackexchange.com/a/305829/4999 Commented Aug 3 at 21:31

Long comment: It's a weird-looking bug. DSolve[] makes these two calls to a solver, which look the same to me, aside from variable names:

DSolveDSolveFirstOrderODEDumpFirstOrderODE[
Derivative[1][y][x] -> Cos[x] - Sin[x] y[x] + y[x]^2, C[1]]

DSolveDSolveFirstOrderODEDumpFirstOrderODE[
Derivative[1][DSolveDSolveExtendedLibraryDumpz][
DSolveDSolveExtendedLibraryDumpt] ->
Cos[DSolveDSolveExtendedLibraryDumpt] -
Sin[DSolveDSolveExtendedLibraryDumpt]
DSolveDSolveExtendedLibraryDumpz[DSolveDSolveExtendedLibraryDumpt] +
DSolveDSolveExtendedLibraryDumpz[
DSolveDSolveExtendedLibraryDumpt]^2, C[1]]


The first yields an answer. The second yields the errors and results in \$Failed.

The first code may be obtained from the second by the following replacements:

{DSolveDSolveExtendedLibraryDumpt -> x,
DSolveDSolveExtendedLibraryDumpz -> y}
`

Why don't they yield equivalent results? My first guess is some sort of assignment is leaking.

• It looks the same for the new (2nd) problem, too. Commented Aug 2 at 22:40
• aside from variable names do you think I should add tag "letter_makes_difference" in this case to my question? mathematica.stackexchange.com/questions/tagged/… Commented Aug 3 at 13:38
• @Nasser Not sure. It's an internal letter that makes a difference, not something a user would or should do. Nor can the user control this. That is, under normal usage, no letter makes a difference. Commented Aug 3 at 13:54