I have been unable to find a practical factoring program and was forced to actually find and download one- the only problem is that it was made for the TI-84 Plus Silver Edition. But I need to make it work for the TI-84 Plus. My coding skills are extremely basic and I keep getting errors here and there after believing I have finally fixed it. If someone could tell me what to fix, or actually fix it themselves, I would incredibly grateful!
Code:

Code:
CLASSIC
a+bi
DelVar L1DelVar L2DelVar L3DelVar L4DelVar L50->dim(L6
ClrDraw:AxesOff
FnOff :PlotsOff
ClrHome
Input "DEGREE?",D
For(I,D,0,~1
If I
Then
Disp "COEFF. OF X
If I>1
Then
2(D-I+1
If Ans>8
8
Output(Ans,12,"^
Output(Ans,13,I
End
Else
Disp "CONSTANT
End
Input C
C->L1(D-I+1
End
0->K
0->L
1->Z
dim(L1->D
0->dim(L2
For(I,1,dim(L1
abs(L1(I->Y
1->C
While Y>|E~7C
C/Y->C
fPart(Y^^-1->Y
End
If 1<fPart(C
iPart(C->C
round(C,0->C
C->L2(1+dim(L2
End
L2(1->G
For(I,2,dim(L2
lcm(G,L2(I->G
End
GL1->L1
round(L1,0->L1
0->dim(L2
While not(L1(D
D-1->D
0->L2(1+dim(L2
End
D->dim(L1
If 0>L1(1
Then
Text(K,L,"~
L+8->L
~L1->L1
End
L1(1->T
For(I,2,dim(L1
gcd(T,abs(L1(I->T
End
If T
L1/T->L1
If T>1
Then
Text(K,L,T
L+8+8int(log(T->L
End
0->dim(L3
0->dim(L4
abs(L1(1->A
For(I,1,sqrt(A
If not(fPart(A/I
Then
I->L3(1+dim(L3
A/I->L3(1+dim(L3
End
End
abs(L1(dim(L1->B
For(I,1,sqrt(B
If not(fPart(B/I
Then
I->L4(1+dim(L4
B/I->L4(1+dim(L4
End
End
0->dim(L5
For(I,1,dim(L3
For(J,1,dim(L4
L4(J)/L3(I->L5(1+dim(L5
End
End
0->dim(L3
0->dim(L4
SortA(L5
Lbl 4
1->A
Lbl 1
0->B
Repeat B=4
L1(1->L3(1
For(I,2,dim(L1
L1(I)+L3(I-1)L5(A->L3(I
End
If abs(L3(dim(L3
Then
B+1->B
[i]L5(A->L5(A
Else
D-Z->D
L5(A->L2(1+dim(L2
L3->L1
DelVar L3
dim(L1)-1->dim(L1
End
End
Lbl 2
A+1->A
If D=1 or A>dim(L5
Goto 3
If L5(A)=L5(A-1
Goto 2
Goto 1
Lbl 3
If dim(L2
Then
0->dim(L3
0->dim(L4
For(M,1,dim(L2
abs(L2(M->E
1->N
While E>|E~7N
N/E->N
fPart(E^^-1->E
End
If 1>fPart(N
iPart(N->N
round(N,0->N
N->L4(1+dim(L4
round(NL2(M),0->L3(1+dim(L3
End
For(M,1,dim(L2
L4(M->N
L3(M->O
If L>220
DelVar LK+14->K
Text(K,L,"(
L+6->L
If N>1
Then
Text(K,L,N
L+8+8iPart(log(N->L
End
Text(K,L,"X
If Z=2
Text(K,L,"X^^2
If Z=2
L+8->L
L+8->L
If Z>2
Then
Text(K,L,"^
Text(K,L+8,Z
L+16+8iPart(log(Z->L
End
If abs(O
Then
Text(K,L,"-
If real(O)<0 or 0>imag(O
Text(K,L,"+
L+8->L
If L>220
DelVar LK+14->K
Text(K,L,abs(O
L+8+8iPart(log(abs(O->L
If imag(O
Then
Text(K,L,"[i]
L+8->L
End
End
Text(K,L,")
L+6->L
End
End
Z->W
If D>1
Then
If dim(L2
L4->L6
0->dim(L2
{1->L3
For(I,2,dim(L1
If abs(L1(I)) or (dim(L1)-I=I-1 and not(abs(L1(I-1
I->L3(1+dim(L3
End
abs(L3(2)-L3(1->theta
If theta!=abs(L3(dim(L3))-L3(dim(L3)-1
1->theta
Z+theta->Z
Z-(abs(D)-abs(Z)!=1->Z
If theta=1
W->Z
If Z>=2
Then
For(I,1,dim(L3
L1(abs(L3(I->L1(I
End
dim(L3->dim(L1
End
End
If Z>W
Goto 4
If D=1
Then
If G>1
Then
Text(K,L,"/
Text(K,L+8,G
1->G
End
Text(140,100,"READY
Pause
AxesOn:FnOn
SetUpEditor
Disp "
Else
If dim(L6) and not(dim(L2
L6->L4
If Z>=2
Then
0->dim(L2
D->dim(L2
dim(L1->E
L1(1->L2(1
L1(E->L2(D
For(I,2,dim(L3)-1
L1(L3(I->L2(ZI-1
End
L2->L1
End
If not(dim(L4
{1->L4
L1/prod(L4->L1
Text(K,L,"(
L+6->L
For(I,1,dim(L1
If L>220
DelVar LK+14->K
If abs(L1(I
Then
If I>1
Text(K,L,"-
If I>1 and 0<real(L1(I
Text(K,L,"+
If I>1
L+8->L
If 1<abs(L1(I)) or I=dim(L1
Then
Text(K,L,abs(L1(I
L+8+8iPart(log(abs(L1(I->L
End
dim(L1)-I->P
If P=1
Then
Text(K,L,"X
L+8->L
End
If P=2
Then
Text(K,L,"X^^2
L+16->L
End
If P>2
Then
Text(K,L,"X^
Text(K,L+16,P
L+24+8iPart(log(P->L
End
End
End
Text(K,L,")
If G>1
Then
Text(K,L+6,"/
Text(K,L+14,G
End
Text(140,100,"READY
Pause
AxesOn:FnOn
SetUpEditor
Disp "