# How to Factor Polynomials on a Graphing Calculator (TI-83 and TI-84)

326,873

15

71

## Introduction: How to Factor Polynomials on a Graphing Calculator (TI-83 and TI-84)

These instructions will explain step-by-step on how to factor polynomials on a TI-83/TI-84 graphing calculator

## Step 1:

Begin by selecting the PRGM button and scroll over to NEW, click ENTER and name the program and then click ENTER. Having the name relate to the formula is always a good idea. (Example: Factors)

## Step 2:

Press the PRGM button, scroll once to the right to I/O, scroll down and select ClrHome. Press PRGM again, scroll once to the right to I/O and select Input, then hit 2ND ALPHA and type in “ENTER A:” (use the + to make quotations). After “ENTER A” put a comma followed by the variable A.

## Step 3:

Follow the above instructions to create the same input but with “ENTER B” and “ENTER C” You should have 3 sets of inputs at the end of this step. ex - Input “ENTER B:” , B Press ENTER

## Step 4:

Press MATH, scroll once to the right and select “gcd(“. Press MATH again, scroll right and select “abs(“. In the of the “abs(“ put your variable A and then close the parenthesis. Repeat these steps for the variable B. For variable C all that is needed is “abs” followed by three sets of parenthesis. After the parenthesis press STO,located above the ON button, which is the store button followed by the variable G. Press ENTER

## Step 5:

Select PRGM and select the If statement. Skip a few lines and select a left parenthesis and put the variable G into it. Select 2nd MATH and then select the not equal sign followed by zero and the end of the parenthesis. Press ENTER

## Step 6:

Press PRGM and select the Then statement. Press ENTER

## Step 7:

Begin with a parenthesis on a new line followed by the variable A divided by variable G and end parenthesis. Then STO the answer with variable A. Press ENTER. Repeat these same steps but with variables B and C. ex - (C/G)->C (To store an answer press STO, it will be followed by an arrow then enter the variable as instructed)

## Step 8:

Select PRGM and put End statement after the three above lines in step 7.

## Step 9:

Begin with a parenthesis and put variable A multiplied by C followed by a parenthesis. After the parenthesis STO with variable D. Press ENTER.

## Step 10:

Select 0 and STO it with variable L. Press ENTER.

## Step 11:

Select 1 and STO it with variable J. Press ENTER.

## Step 12:

Select PRGM and select the While statement. Begin a parenthesis followed by variable L does not equal(≠) variable B, end with a parenthesis. Press ENTER. ex - While (L x=B)

## Step 13:

Begin with a parenthesis followed by variable D divided by variable J. End the parenthesis and STO to variable K. Press ENTER.

## Step 14:

Select PRGM and select the If statement. Press the MATH button and scroll once to the right and select fPart( (#4 on the list) followed by a parenthesis then variable K followed by another parenthesis and set that equal to 0 followed by once more parenthesis. ex - If (fPart(K)=0) Press ENTER

## Step 15:

Select PRGM and select Then. Press ENTER.

## Step 16:

Select variable J and add K to STO variable L. Press ENTER. Select variable J and add 1 to STO variable J. Press ENTER.

## Step 17:

Select PRGM and select statement Else. Press ENTER.

## Step 18:

Select variable J and add 1 to it followed by STO variable J. Press ENTER.

## Step 19:

Select PRGM and select statement END. Repeat this once on a new line. Press ENTER.

## Step 20:

Select variable J and subtract by 1 and STO variable J. Press ENTER. Select variable A and STO it to O. Press ENTER.

## Step 21:

Press MATH and scroll once to the right to select gcd( (located at the bottom of NUM) followed by abs( which is located at the same spot. After the parenthesis on abs( follow it with variable K. then put a comma followed by abs( with a 0 in the parenthesis. Add two more parenthesis to finish the statement followed by STO variable H. Press ENTER

## Step 22:

Begin with a parenthesis followed by variable K divided by variable H followed by a parenthesis and STO with variable K. Press ENTER. Begin with a parenthesis followed by variable O divided by H and STO it to O. Press ENTER

## Step 23:

Select gcd( and abs( followed by variable J and end parenthesis. Begin with a comma followed by abs( with variable A followed by two parenthesis and STO it to variable M. Press ENTER.

## Step 24:

Begin with a parenthesis followed by variable J divided by M, end parenthesis and STO it to variable J. Press ENTER. Begin with a parenthesis followed by variable A divided by M, end parenthesis and STO it to variable A.

## Step 25:

Select 2nd 0 which will bring up the CATALOG and select PlotsOff. Press ENTER. Select CATALOG again and select AxesOff. Press ENTER. CATALOG once again and select ClrDraw. Press ENTER.

## Step 26:

This step is for the display of the formula. Select 2nd PRGM and then select Text followed by a parenthesis with the numbers -1,15,0,G,”(,O,”X+”,K,”)(“,A,”X+”,K,”)(“,A,”X+”,J,”)” (You can skip to a new line for each parenthesis to make it cleaner)

## Step 27:

To test program press PRGM (make sure EXEC is highlighted) and scroll to your program name and press ENTER.

## 1 Person Made This Project!

• ## Recommendations

I'm just dropping by to say thanks to the original poster for giving me the framework to create an awesome program. I've taken what you've done and (I think?) perfected it. I've added scripts to account for complex solutions, unfactorable quadratics, and solving differences of squares problems (which for some reason the original code didn't seem to do for me). For those who're curious, I typed the program using the TI Connect CE Software, and I transferred it to my calculator w/ the USB cord. I'll post the code here in case it's helpful for anyone. If you try to copy/paste it, you might get some errors, but if you simply retype it line for line it should work out fine :). Enjoy!

======================================================================
Comments will be denoted with "//...", make sure you don't type those parts into your program, they're just there to help you understand what everything means
======================================================================

// This first block of code lays out the general setup (basically preparing the output to look pretty)

ClrHome
AxesOff
PlotsOff
GridOff
FnOff
ClrDraw

// This block prompts the user for input and saves the variables

Disp "AX²+BX+C=0",""
Input "A = ",A
Input "B = ",B
Input "C = ",C
ClrHome

// This block is checking to see if the solutions will be imaginary/complex. If the discriminant (B²-4*A*C) is negative, then it'll do the Quadratic Formula and display the solutions rounded to two decimal places (the rounding is just for formatting purposes, if you have the TI84 Plus CE you can let it round to a higher value). It's set to pause on the final output so you can read the results, simply press [ENTER] to clear the screen.

If (B²-4*A*C)<0:Then
B²-4AC→D
(­B+√(D))/(2A)→K
(­B-√(D))/(2A)→J
Text(­1,1,0,"Complex Solutions")
Text(­1,20,0,"Solutions:")
Text(­1,30,0,"X1 = ",round((­B/(2*A)),2),"+",round((√(­D)/(2*A)),2),"i")
Text(­1,40,0,"X2 = ",round((­B/(2*A)),2),"-",round((√(­D)/(2*A)),2),"i")
Pause :ClrHome:AxesOn
Stop
End

// This block uses the fPart( command to see if the square root portion of the Quadratic Formula will have a decimal or not. While this isn't a requirement for being factorable, this program was written for students taking the ACT and that rule does apply to the test, so for it's intended purpose - it works great, however, if you have a discriminant that's a perfect square, but isn't an integer (like 1/4), then the program will just loop forever and you'll have to press "ON" to make it stop

If fPart(√(B²-4*A*C))≠0:Then
B²-4AC→D
(­B+√(D))/(2A)→K
(­B-√(D))/(2A)→J
Text(­1,1,0,"Not Factorable")
Text(­1,20,0,"Solutions:")
Text(­1,30,0,"X1 = ",round(K,5))
Text(­1,40,0,"X2 = ",round(J,5))
Pause :ClrHome:AxesOn
Stop
End

// This is the start of the original poster's code. He's simply seeing if all the terms reduce by some common factor. If there is a common factor (G), they're dividing the coefficients by the common factor to get a reduced-form quadratic

gcd(abs(A),gcd(abs(B),abs(C)))→G
If G≠0:Then
(A/G)→A
(B/G)→B
(C/G)→C
End

// This is my checking to see if the problem is a difference of squares problem since for some reason the original poster's code didn't seem to account for that (and I don't 100% the loops/code he/she used so I just accounted for it on my own)

If fPart(√(A))=0 and B=0 and fPart(√(abs(C)))=0:Then
√(A)→A
√(abs(C))→C
Text(­1,1,0,"Factored Form")
Text(­1,15,0,G,"(",A,"X+",C,")(",A,"X-",C,")")
Text(­1,30,0,"2 Real Roots")
Text(­1,40,0,"X1 = ",­C,"/",A)
Text(­1,50,0,"X2 = ",C,"/",A)
Pause :ClrHome:AxesOn
Stop
End

// This is more of the original poster's code, I only partially understand it so I'll save you all a poor explanation

(A*C)→D
0→L
1→J

While L≠B
(D/J)→K

If fPart(K)=0:Then
J+K→L
J+1→J
Else
J+1→J
End

End

J-1→J
A→O

// We're almost done, this is just some more reducing to eliminate the chance that the factored form might not be fully reduced

gcd(abs(K),abs(O))→H
(K/H)→K
(O/H)→H

gcd(abs(J),abs(A))→M
(J/M)→J
(A/M)→A

// This is my modified output to simply give the factored form of the quadratic. I did have some trouble with the original poster's code, so I had to do some modifications, but this seems to be exactly what I wanted.

If (­K/H)=(­J/A):Then
Text(­1,1,0,"Factored Form")
Text(­1,15,0,G,"(",H,"X+",K,")²")
Text(­1,30,0,"1 Real Root")
Text(­1,40,0,"X = ",­K,"/",H)
Else
Text(­1,1,0,"Factored Form")
Text(­1,15,0,G,"(",H,"X+",K,")(",A,"X+",J,")")
Text(­1,30,0,"2 Real Roots")
Text(­1,40,0,"X1 = ",­K,"/",H)
Text(­1,50,0,"X2 = ",­J,"/",A)
End

Pause :ClrHome:AxesOn
Stop

======================================================================

And that's all folks! Hopefully the code and the explanation are at least somewhat helpful - enjoy!

HI,
I have a question for you.
I copied your code, but I am having a display problem. How do i fix this?

Soooo, turns out - my code was riddled with issues (it was super annoying to trouble shoot). The issue you're seeing is that it wasn't formated for the TI 84 Plus CE's screen, it was for the regular TI 84+. However, I have fixed the code since I last posted it and now it seems to be working flawlessly. The output isn't always the prettiest, but I went for function of aesthetics. Hopefully this new code is more helpful, please leave a comment if so :)

ClrHome
AxesOff
PlotsOff
GridOff
FnOff
ClrDraw
Disp "AX²+BX+C=0",""
Input "A = ",A
Input "B = ",B
Input "C = ",C
ClrHome
If (B²-4*A*C)<0:Then
B²-4AC→D
(­B+√(D))/(2A)→K
(­B-√(D))/(2A)→J
Text(­1,1,0,"Complex Solutions")
Text(­1,15,0,"Solutions:")
Text(­1,35,0,"X1 = ",round((­B/(2*A)),2),"+",round((√(­D)/(2*A)),2),"i")
Text(­1,55,0,"X2 = ",round((­B/(2*A)),2),"-",round((√(­D)/(2*A)),2),"i")
Pause :ClrHome:AxesOn
Stop
End
If fPart(√(B²-4*A*C))≠0:Then
B²-4AC→D
(­B+√(D))/(2A)→K
(­B-√(D))/(2A)→J
Text(­1,1,0,"Not Factorable")
Text(­1,15,0,"Solutions:")
Text(­1,35,0,"X1 = ",round(K,5))
Text(­1,55,0,"X2 = ",round(J,5))
Pause :ClrHome:AxesOn
Stop
End
gcd(abs(A),gcd(abs(B),abs(C)))→G
If G≠0:Then
(A/G)→A
(B/G)→B
(C/G)→C
End
If fPart(√(A))=0 and B=0 and fPart(√(abs(C)))=0:Then
√(A)→A
√(abs(C))→C
Text(­1,1,0,"Factored Form")
Text(­1,20,0,G,"(",A,"X+",C,")(",A,"X-",C,")")
Text(­1,38,0,"Press Enter")
Text(­1,55,0,"for Solutions")
Pause :ClrDraw:ClrHome
Text(­1,1,0,"2 Real Roots")
Text(­1,20,0,"X1 = ",­C,"/",A)
Text(­1,40,0,"X2 = ",C,"/",A)
Text(­1,55,0,"[Press Enter]")
Pause :ClrHome:AxesOn
Stop
End
(A*C)→D
0→L
1→J
While L≠abs(B)
(D/J)→K
If fPart(K)=0:Then
J+K→L
J+1→J
Else
J+1→J
End
End
J-1→J
A→O
gcd(abs(K),abs(O))→H
(K/H)→K
(O/H)→H
gcd(abs(J),abs(A))→M
(J/M)→J
(A/M)→A
If (B>0):Then
If (­K/H)=(­J/A):Then
Text(­1,1,0,"Factored Form")
Text(­1,20,0,G,"(",H,"X+",K,")²")
Text(­1,38,0,"1 Real Root")
Text(­1,55,0,"X = ",­K,"/",H)
Else
Text(­1,1,0,"Factored Form")
Text(­1,20,0,G,"(",H,"X+",K,")(",A,"X+",J,")")
Text(­1,38,0,"Press Enter")
Text(­1,55,0,"for Solutions")
Pause :ClrDraw:ClrHome
Text(­1,1,0,"2 Real Roots")
Text(­1,20,0,"X1 = ",­K,"/",H)
Text(­1,40,0,"X2 = ",­J,"/",A)
Text(­1,55,0,"[Press Enter]")
End
Else
If (­K/H)=(­J/A):Then
Text(­1,1,0,"Factored Form")
Text(­1,20,0,G,"(",H,"X-",K,")²")
Text(­1,38,0,"1 Real Root")
Text(­1,55,0,"X = ",K,"/",H)
Else
Text(­1,1,0,"Factored Form")
Text(­1,20,0,G,"(",H,"X+",­K,")(",A,"X+",­J,")")
Text(­1,38,0,"Press Enter")
Text(­1,55,0,"for Solutions")
Pause :ClrDraw:ClrHome
Text(­1,1,0,"2 Real Roots")
Text(­1,20,0,"X1 = ",K,"/",H)
Text(­1,40,0,"X2 = ",J,"/",A)
Text(­1,55,0,"[Press Enter]")
End
End
Pause :ClrHome:AxesOn
Stop

I entered it line by line, and this is the error code i got when i tried to run it
I am wondering if that space in line 7 is needed?
you have a space in between the " and Quadratic"
The first time I entered the code, I tired to copy and paste, and it gave me the same error, but had the option to "go to" (pic 2).
When I go to it is on the PlotsOff (which is not highlighted in the next pic.
I dont know why it does that when its copied.
I honestly have no clue about programing, wish I had actually paid attention back in the days of DOS.
I appreciate the effort you made.
Thanks again

No, those spaces (inside the quotations) are strictly there for alignment purposes (just for the aesthetic of the program). Certain commands, however, need to have a space placed after them in order for it to function properly. Here are some that come to mind that I used:

PlotsOff should be typed as "PlotsOff "
FnOff should be "FnOff "
AxesOn should be "AxesOn "
Pause should be "Pause "

Those are all the ones that come to mind, hopefully that helps :)

Hi everyone, this was a class project me and two other students had to do in college two years ago. I wish I could answer your questions but I'm not the one who came up with this idea. The actual deceloper has no ties to this account anymore. Refer to previous comments to find helpful tips/answers. Good luck!