How to obtain the solution of an ODE in implicit form?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












I want to get the general solution of a first-order ODE in implicit form.
It should be something like this:



  1. With input y'[x] == 1, the desired output is C[1]->y[x] - x.

  2. With input y'[x] == 1/y[x]^2 (nonlinear ODE), the desired output is C[1]->y[x]^3/3 - x

DSolve tries to evaluate the explicit form of y[x] by default. Is it possible to keep the implicit solution?



I tried explicit equation integration using Integrate and tracing (Trace with TraceInternal -> True). Neither helped me with this problem.










share|improve this question









New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
    – xzczd
    2 hours ago










  • But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
    – Ilya
    2 hours ago











  • Yes, and that's the reason I didn't vote for close as duplicate.
    – xzczd
    2 hours ago














up vote
1
down vote

favorite












I want to get the general solution of a first-order ODE in implicit form.
It should be something like this:



  1. With input y'[x] == 1, the desired output is C[1]->y[x] - x.

  2. With input y'[x] == 1/y[x]^2 (nonlinear ODE), the desired output is C[1]->y[x]^3/3 - x

DSolve tries to evaluate the explicit form of y[x] by default. Is it possible to keep the implicit solution?



I tried explicit equation integration using Integrate and tracing (Trace with TraceInternal -> True). Neither helped me with this problem.










share|improve this question









New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1




    Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
    – xzczd
    2 hours ago










  • But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
    – Ilya
    2 hours ago











  • Yes, and that's the reason I didn't vote for close as duplicate.
    – xzczd
    2 hours ago












up vote
1
down vote

favorite









up vote
1
down vote

favorite











I want to get the general solution of a first-order ODE in implicit form.
It should be something like this:



  1. With input y'[x] == 1, the desired output is C[1]->y[x] - x.

  2. With input y'[x] == 1/y[x]^2 (nonlinear ODE), the desired output is C[1]->y[x]^3/3 - x

DSolve tries to evaluate the explicit form of y[x] by default. Is it possible to keep the implicit solution?



I tried explicit equation integration using Integrate and tracing (Trace with TraceInternal -> True). Neither helped me with this problem.










share|improve this question









New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I want to get the general solution of a first-order ODE in implicit form.
It should be something like this:



  1. With input y'[x] == 1, the desired output is C[1]->y[x] - x.

  2. With input y'[x] == 1/y[x]^2 (nonlinear ODE), the desired output is C[1]->y[x]^3/3 - x

DSolve tries to evaluate the explicit form of y[x] by default. Is it possible to keep the implicit solution?



I tried explicit equation integration using Integrate and tracing (Trace with TraceInternal -> True). Neither helped me with this problem.







differential-equations






share|improve this question









New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 24 mins ago









m_goldberg

82.8k870191




82.8k870191






New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 hours ago









Ilya

62




62




New contributor




Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Ilya is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1




    Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
    – xzczd
    2 hours ago










  • But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
    – Ilya
    2 hours ago











  • Yes, and that's the reason I didn't vote for close as duplicate.
    – xzczd
    2 hours ago












  • 1




    Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
    – xzczd
    2 hours ago










  • But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
    – Ilya
    2 hours ago











  • Yes, and that's the reason I didn't vote for close as duplicate.
    – xzczd
    2 hours ago







1




1




Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
– xzczd
2 hours ago




Strongly related, if not duplicate: mathematica.stackexchange.com/q/137598/1871
– xzczd
2 hours ago












But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
– Ilya
2 hours ago





But this seems not to work correctly. Quiet@Trace[DSolve[y'[x] == 1, y[x], x], Solve[e_, y[x]] -> (eqn = e), TraceInternal -> True]; eqn returns -1 + y[x] == 0 with no integration constant
– Ilya
2 hours ago













Yes, and that's the reason I didn't vote for close as duplicate.
– xzczd
2 hours ago




Yes, and that's the reason I didn't vote for close as duplicate.
– xzczd
2 hours ago










1 Answer
1






active

oldest

votes

















up vote
2
down vote













The following works for the two examples in the OP:



eq = y'[x] == 1; (* try also eq = y'[x] == 1/y[x]^2 *)
Solve[Equal @@ DSolve[eq, y[x], x][[1, 1]], C[1]]
(* C[1] -> -x + y[x] *)


Higher order ODEs contain more constants of integration, so OP shall modify the code accordingly.






share|improve this answer




















    Your Answer




    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("mathjaxEditing", function ()
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    );
    );
    , "mathjax-editing");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "387"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );






    Ilya is a new contributor. Be nice, and check out our Code of Conduct.









     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f183823%2fhow-to-obtain-the-solution-of-an-ode-in-implicit-form%23new-answer', 'question_page');

    );

    Post as a guest






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote













    The following works for the two examples in the OP:



    eq = y'[x] == 1; (* try also eq = y'[x] == 1/y[x]^2 *)
    Solve[Equal @@ DSolve[eq, y[x], x][[1, 1]], C[1]]
    (* C[1] -> -x + y[x] *)


    Higher order ODEs contain more constants of integration, so OP shall modify the code accordingly.






    share|improve this answer
























      up vote
      2
      down vote













      The following works for the two examples in the OP:



      eq = y'[x] == 1; (* try also eq = y'[x] == 1/y[x]^2 *)
      Solve[Equal @@ DSolve[eq, y[x], x][[1, 1]], C[1]]
      (* C[1] -> -x + y[x] *)


      Higher order ODEs contain more constants of integration, so OP shall modify the code accordingly.






      share|improve this answer






















        up vote
        2
        down vote










        up vote
        2
        down vote









        The following works for the two examples in the OP:



        eq = y'[x] == 1; (* try also eq = y'[x] == 1/y[x]^2 *)
        Solve[Equal @@ DSolve[eq, y[x], x][[1, 1]], C[1]]
        (* C[1] -> -x + y[x] *)


        Higher order ODEs contain more constants of integration, so OP shall modify the code accordingly.






        share|improve this answer












        The following works for the two examples in the OP:



        eq = y'[x] == 1; (* try also eq = y'[x] == 1/y[x]^2 *)
        Solve[Equal @@ DSolve[eq, y[x], x][[1, 1]], C[1]]
        (* C[1] -> -x + y[x] *)


        Higher order ODEs contain more constants of integration, so OP shall modify the code accordingly.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 1 hour ago









        AccidentalFourierTransform

        4,6021839




        4,6021839




















            Ilya is a new contributor. Be nice, and check out our Code of Conduct.









             

            draft saved


            draft discarded


















            Ilya is a new contributor. Be nice, and check out our Code of Conduct.












            Ilya is a new contributor. Be nice, and check out our Code of Conduct.











            Ilya is a new contributor. Be nice, and check out our Code of Conduct.













             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f183823%2fhow-to-obtain-the-solution-of-an-ode-in-implicit-form%23new-answer', 'question_page');

            );

            Post as a guest













































































            Comments

            Popular posts from this blog

            What does second last employer means? [closed]

            List of Gilmore Girls characters

            Confectionery