Can we abuse notation and write equations in differential one-form?

Ok, now I'm feeling stupid.

First I asked Wolfram Alpha and it interpreted my query correctly. Then I did

WolframAlpha["solve y dx=dy", {{"Input", 1}, "Input"}]
(* HoldComplete[y Dt[x] == Dt[y]] *)

That gave me a clue for the proper notation.

DSolve[y[x] Dt[x] == Dt[y[x]], y, x]
(* {{y -> Function[{x}, E^x C[1]]}} *)

Mathematica handles differentials out of the box just fine.


I wonder if the following is a recent enhancement of DSolve (V12.2 or earlier). If it is, I don't know when it happened. My past experience led me to think it would give an error. The first line is applied below to the OP's original code. We don't need to rewrite y as a function of x; it is done for us. DSolve returns an implicit solution with an inactivated Solve. (I don't know why, but that is, roughly speaking, the typical method in a differential equations course.)

Activate@Block[{DifferentialD = Dt}, 
  DSolve[y \[DifferentialD]x == \[DifferentialD]y, y, x]]

(*  {{y[x] -> -E^x C[1]}}  *)

Unfortunately, the original DSolve[y \[DifferentialD]x == \[DifferentialD]y, y, x] still gives an error.