Results 1 to 16 of 16

Thread: [RESOLVED] Fourth Degree Equation Solver :)

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Resolved [RESOLVED] Fourth Degree Equation Solver :)

    Is anybody good with math?

    Code:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim a As String = Me.TextBox1.Text
            Dim b As String = Me.TextBox2.Text
            Dim c As String = Me.TextBox3.Text
            Dim d As String = Me.TextBox4.Text
            Dim f As String = Me.TextBox5.Text
    
            Me.lblFirst.Text = -b / (4 * a) - 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - _
                2 * c / (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * _
                a * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + _
                27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
                27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
                a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * _
                a * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * _
                a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * _
                d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) - (-b ^ 3 / a ^ 3 + _
                4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * _
                c / (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
                ((2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * _
                b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * _
                a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
                27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblSecond.Text = -b / (4 * a) - 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - _
                2 * c / (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * _
                a * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + _
                27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
                27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
                a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * _
                a * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * _
                a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * _
                d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) - (-b ^ 3 / a ^ 3 + _
                4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * _
                c / (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
                ((2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * _
                c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * _
                b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
                f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * _
                a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
                27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblThird.Text = -b / (4 * a) + 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
                (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
                (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ _
                2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) _
                * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
                Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
                27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / 2 * 8 * _
                Math.Sqrt(b ^ 2 / (2 * a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + _
                12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * _
                f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ _
                3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / _
                3)) - 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * _
                b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + _
                (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ _
                (1 / 3) + (-b ^ 3 / a ^ 3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / _
                (4 * a ^ 2) - 2 * c / (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * _
                a * ((2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
                Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
                27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ _
                (1 / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * _
                a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * _
                b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblFourth.Text = -b / (4 * a) + 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / (3 * _
                a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * b * _
                c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
                3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ _
                2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - _
                9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
                (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
                27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / 2 * 8 * Math.Sqrt(b ^ 2 / (2 * _
                a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
                (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
                Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
                27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 _
                / 3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c _
                * f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * _
                d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) + (-b ^ 3 / a ^ _
                3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
                (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * ((2 * c ^ 3 - 9 * _
                b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ _
                2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * _
                b ^ 2 * f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ _
                3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 _
                * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ _
                2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
        End Sub
    I'm not sure if this is the right thread for this. I am also not sure what I am doing wrong. Any suggestions?

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  2. #2

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)


    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  3. #3
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: Fourth Degree Equation Solver :)

    Soooo... what. I assume it doesn't work. How? Does it error, does it not produce any results? Does it produce the wrong results?

    Do you expect us to check if that equation is correct? Lol. That's some insane equation in VB code. Perhaps you could break it up into parts so it was easier to read and spot mistakes?

    EDIT
    The website even shows you exactly where the four roots are different. So that's a great opportunity to split it up. Looking at it very quickly I can see that each equation has 4 or 5 parts which are exactly the same. So do them in 4 or 5 different methods or whatever and then combine the results.

  4. #4

    Re: Fourth Degree Equation Solver :)

    Well..I recommend that you simplify the equations first. Then someone here will attempt to take a look at this.

  5. #5

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)

    Sorry guys... I'll work on that now. The Error I get is "N/A". I guess being Not a Number is not nessesarily an error, but it is in this case. Sorry for not thinking before posting!

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  6. #6
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: Fourth Degree Equation Solver :)

    I don't think they can be simplified. Exact solutions for 4th and 5th grade polynomials are just ugly.

    I don't know how much accuracy you are looking for? Perhaps you could calculate an approximate solution using one of the many available options. Hell, it may even be faster with that many operations.


    Whatever you do, I do advice you to first convert the strings a, b, c, etc to doubles first. I'm not exactly sure, but perhaps the compiler is converting every occurrence of those strings to doubles implicitly. That would mean you doing 5 conversions vs the compiler doing probably hundreds!

  7. #7

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)

    I actually saw the strings after I submitted the post, but I decided not to change it.

    I think what everybody means by simplify is:

    F = This part of the equation
    G = This Part
    H = This Part

    X1 = (F/G)-H

    or something like that. Breaking the equations into smaller parts and then just work with those parts... I just didn't want to go through the work.

    The equations provided on the site don't put the '*' sign in, so I have to go through the whole equation and format it into something that VB will understand.

    EDIT: I don't know how exact an answer I want, I suppose I doesn't have to be very exact. Ideally I would like to return a fraction that way I could work with it like that.

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  8. #8

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)

    OK,

    I am having more trouble simplifying. I found the differences between each one:

    Code:
            Me.lblFirst.Text = -b / (4 * a) _
     - 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
            (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ _
            2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 _
            * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ _
            3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
            (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
            27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) _
     - 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
            a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
            (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
            Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
            27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / _
            3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
            f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * _
            d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) _
     - (-b ^ 3 / a ^ _
            3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / (3 * _
            a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * ((2 * c ^ 3 - 9 * b * _
            c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * _
            b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * _
            f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
            3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ _
            2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblSecond.Text = -b / (4 * a) _
     - 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
            (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ _
            2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 _
            * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ _
            3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
            (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
            27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) _
     + 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
            a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
            (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
            Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
            27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / _
            3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
            f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * _
            d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) _
     - (-b ^ 3 / a ^ _
            3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / (3 * _
            a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * ((2 * c ^ 3 - 9 * b * _
            c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * _
            b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * _
            f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
            3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ _
            2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblThird.Text = -b / (4 * a) _
     + 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
            (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ _
            2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 _
            * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ _
            3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
            (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
            27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) _
     - 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
            a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
            (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
            Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
            27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / _
            3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
            f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * _
            d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) _
     + (-b ^ 3 / a ^ _
            3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / (3 * _
            a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * ((2 * c ^ 3 - 9 * b * _
            c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * _
            b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * _
            f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
            3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ _
            2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    
            Me.lblFourth.Text = -b / (4 * a) _
     + 1 / 2 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / _
            (3 * a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ _
            2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 _
            * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ _
            3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * _
            (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + _
            27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) _
     + 1 / 2 * Math.Sqrt(b ^ 2 / (2 * _
            a ^ 2) - 4 * c / (3 * a) - 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * _
            (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + _
            Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + _
            27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3)) - 1 / (3 * 2 ^ (1 / _
            3) * a) * (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * _
            f + Math.Sqrt(-4 * (c ^ 2 - 3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * _
            d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3) _
     + (-b ^ 3 / a ^ _
            3 + 4 * b * c / a ^ 2 - 8 * d / a) / (4 * Math.Sqrt(b ^ 2 / (4 * a ^ 2) - 2 * c / (3 * _
            a) + 2 ^ (1 / 3) * (c ^ 2 - 3 * b * d + 12 * a * f) / (3 * a * ((2 * c ^ 3 - 9 * b * _
            c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - 3 * _
            b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * _
            f - 72 * a * c * f) ^ 2))) ^ (1 / 3)) + 1 / (3 * 2 ^ (1 / 3) * a) * (2 * c ^ 3 - 9 * _
            b * c * d + 27 * a * d ^ 2 + 27 * b ^ 2 * f - 72 * a * c * f + Math.Sqrt(-4 * (c ^ 2 - _
            3 * b * d + 12 * a * f) ^ 3 + (2 * c ^ 3 - 9 * b * c * d + 27 * a * d ^ 2 + 27 * b ^ _
            2 * f - 72 * a * c * f) ^ 2)) ^ (1 / 3))))
    I am not sure that I can do much more... Does anybody know of a site that simplifies them for me? This is pretty monotonous!

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  9. #9
    Member Nicelydone's Avatar
    Join Date
    Nov 2009
    Location
    Arizona
    Posts
    61

    Re: Fourth Degree Equation Solver :)

    There is a guy on the forums that is just a god when it comes to math. Totally worth running it by him. Jemidiah answers math questions like he wrote the book.

    http://www.vbforums.com/forumdisplay.php?f=20 this is a link to the maths forum. Perhaps post there.

    Although, Im not sure even a math wiz is going to want to read through that formula problem by problem. Just a side note.
    NicelyDone: The Visual Studio 2008 Newb
    There are 10 types of people in this world...Those who know binary and those who don't.
    *cough* Asimov *cough*
    I used to be a pro at HTML...Wait, nooooo! Epic fail

  10. #10

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)

    I found that this may be a better way:

    http://www.1728.com/quartic2.htm

    It breaks the steps into smaller ones. The only problem is that I need to find the ArcCosine of a number. I don't know what that means let alone how to find it!

    Thanks for helping!

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

  11. #11

    Re: Fourth Degree Equation Solver :)

    Math.ACos() should do that for you.

  12. #12
    Fanatic Member
    Join Date
    Oct 2008
    Location
    Dominican Republic
    Posts
    733

    Re: Fourth Degree Equation Solver :)

    EDIT: hey, my bad, I was thinking about something else, yesn you ARE right.
    Last edited by tassa; Nov 21st, 2009 at 12:32 PM.
    "In our profession, precision and perfection are not a dispensable luxury, but a simple necessity."
    Niklaus E. Wirth


    Rate any post that helped you, it's a good way of saying thanks
    Please specify your Visual Studio Version!

    Why rating is useful

    My Code Bank Submissions: How to determine Windows Version| Working With Mouse Events | Blocking Input Using API | Get host's IP | Minimize to system tray "animated" | Colored ListBox (custom fonts, colors, highlight) Updated -New Class! | [VS 2008] Strong encryption and hashing class - Updated! 31/August/2009 | Create a shortcut using IWshRuntimeLibrary

  13. #13

  14. #14

    Re: Fourth Degree Equation Solver :)

    Arccos finds the angle you need using the adjacent and hypotenuse sides of a triangle. 1/Cos(angle) is actually equal to the secant(angle).

    Basic PreCalculus taught me that...sucks that my teacher could only tutor T_T and now I'm suffering for it in Calculus.

  15. #15
    Only Slightly Obsessive jemidiah's Avatar
    Join Date
    Apr 2002
    Posts
    2,431

    Re: Fourth Degree Equation Solver :)

    Quote Originally Posted by NickThissen View Post
    arccos(x) = y <==> x = cos(y)
    A small technical note--that's only true if y is restricted from 0 to pi (using the normal definition of arccos). You can also define arccos as a multivalued function, but things would get messy.
    The time you enjoy wasting is not wasted time.
    Bertrand Russell

    <- Remember to rate posts you find helpful.

  16. #16

    Thread Starter
    Addicted Member
    Join Date
    Oct 2009
    Location
    Clive, IA in America!!!!
    Posts
    204

    Re: Fourth Degree Equation Solver :)

    OK, Thanks for all ther help. I do have some problems to work out, but am pretty busy with other things. So as time comes up, I will start another thread! Thank you, All!

    VBNetDude - Thinking Programmatically
    By Silver Seal Software

    Don't forget to mark your thread as "Resolved" using the Thread Tools menu on top. And don't forget to rate the answers that help you the most!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width