var eqn=1
var aVar = 4
var bVar = -3
var cVar = 1
var AVar = 2
var BVar = -5
var CVar = 7
var coef2 = 4
var coef1 = -22
var coef0 = -110
var poly = "\\int\\,\\frac{4x^2-22x-110}{(x+4)(x-3)(x+1)}\\,dx"
var eq1 
var eq2 
var eq3 
var eq4 
var eq5 
var eq6 
var string1
var string2
var string3
var string4
var string5
var string6
var string1a = "4x^2-22x-110"

function wc(num,condition){
   if((condition==1)&&(Math.abs(num)==1)){
     if(num<0){
       tmp="-"
     }else{
       tmp="+"
     }
   }else{
     if(num<0){
       tmp=num
     } else {
       tmp="+"+num
   }} 
   return tmp
}
function dc(num){
   if((num%2)==0){   
     if(num<0){
       tmp=num%2
     } else {
       tmp="+"+(num/2)
     }
   } else {
     if(num<0){
       tmp="-\\frac{"+Math.abs(num)+"}{2}"
     } else {
       tmp="+\\frac{"+Math.abs(num)+"}{2}"
     }
   }
   return tmp
}
function writeNewEqn(){
   with(Math){
     eqn = round(3*random()+1)
     aVar = 0
     while(aVar==0){
       aVar = round(18*random()-9)
     }
     bVar = aVar
     while((bVar==aVar)||(bVar==0)){
       bVar = round(18*random()-9)
     }
     if((eqn>=3)&&(bVar<0)){
       bVar=-bVar
     }
     cVar = aVar
     while((cVar==aVar)||(cVar==bVar)||(cVar==0)){
       cVar = round(18*random()-9)
     }
     AVar = round(18*random()-9) 
     BVar = round(18*random()-9) 
     CVar = round(18*random()-9) 
   }
   if(eqn==1){
     coef2 = AVar + BVar + CVar
     coef1 = AVar*(bVar+cVar)+BVar*(aVar+cVar)+CVar*(bVar+aVar)
     coef0 = AVar*bVar*cVar + BVar*aVar*cVar + CVar*aVar*bVar
     string1a = coef2+"x^2"+wc(coef1,1)+"x"+wc(coef0,0)
     string1="\\frac{"+string1a+"}{(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")(x"+wc(cVar,0)+")}"
   } else {
   if(eqn==2){
     coef2 = AVar + BVar
     coef1 = AVar*bVar*2+BVar*(aVar+bVar)+CVar
     coef0 = AVar*bVar*bVar + BVar*aVar*bVar + CVar*aVar
     string1a = coef2+"x^2"+wc(coef1,1)+"x"+wc(coef0,0)
     string1="\\frac{"+string1a+"}{(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")^2}"
   } else {
     coef2 = AVar + BVar
     coef1 = BVar*aVar+CVar
     coef0 = AVar*bVar + CVar*aVar
     string1a = coef2+"x^2"+wc(coef1,1)+"x"+wc(coef0,0)
     string1="\\frac{"+string1a+"}{(x"+wc(aVar,0)+")(x^2+"+bVar+")}"
   }}
   poly="\\int\\,"+string1+"\\,dx"
}

function writeEqn(){
   string2=string1
   if(eqn==1){
     string2=string2+"\\,=\\,\\frac{A}{x"+wc(aVar,0)+"}+\\frac{B}{x"+wc(bVar,0)+"}+\\frac{C}{x"+wc(cVar,0)+"}"
   } else {
   if(eqn==2){
     string2=string2+"\\,=\\,\\frac{A}{x"+wc(aVar,0)+"}+\\frac{B}{x"+wc(bVar,0)+"}+\\frac{C}{(x"+wc(bVar,0)+")^2}"
   } else {
     string2=string2+"\\,=\\,\\frac{A}{x"+wc(aVar,0)+"}+\\frac{Bx+C}{x^2+"+bVar+"}"
   }}
   eq1 = "\\altLink{$"+string2+"$}{$"+string1+"=$}"
}

function writeEqn1(){
   string3=string1
   if(eqn==1){
     string3=string3+"\\,=\\,\\frac{A(x"+wc(bVar,0)+")(x"+wc(cVar,0)+")+B(x"+wc(aVar,0)+")(x"+wc(cVar,0)+")+C(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")}{(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")(x"+wc(cVar,0)+")}"
   } else {
   if(eqn==2){
     string3=string3+"\\,=\\,\\frac{A(x"+wc(bVar,0)+")^2+B(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")+C(x"+wc(aVar,0)+")}{(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")^2}"
   } else {
     string3=string3+"\\,=\\,\\frac{A(x^2+"+bVar+")+(Bx+C)(x"+wc(aVar,0)+")}{(x"+wc(aVar,0)+")(x^2+"+bVar+")}"
   }}
   eq2 = "\\altLink{$"+string3+"$}{$"+string1+"=$}"
}
function writeEqn2(){
   string4="\\begin{array}{l}"+string1a+"\\\\"
   if(eqn==1){
     string4=string4+"=\\,A(x"+wc(bVar,0)+")(x"+wc(cVar,0)+")+B(x"+wc(aVar,0)+")(x"+wc(cVar,0)+")+C(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")\\\\"
     string4=string4+"=\\,(A+B+C)x^2 + ("+(bVar+cVar)+"A"+wc((aVar+cVar),1)+"B"+wc((aVar+bVar),1)+"C)x + ("+(bVar*cVar)+"A"+wc((aVar*cVar),1)+"B"+wc((aVar*bVar),1)+"C)"
   } else {
   if(eqn==2){
     string4=string4+"=\\,A(x"+wc(bVar,0)+")^2+B(x"+wc(aVar,0)+")(x"+wc(bVar,0)+")+C(x"+wc(aVar,0)+")\\\\"
     string4=string4+"=\\,(A+B)x^2 + ("+(bVar+bVar)+"A"+wc((aVar+bVar),1)+"B +C)x + ("+(bVar*bVar)+"A"+wc((aVar*bVar),1)+"B"+wc(aVar,1)+"C)"
   } else {
     string4=string4+"=\\,A(x^2+"+bVar+")+(Bx+C)(x"+wc(aVar,0)+")\\\\"
     string4=string4+"=\\,(A+B)x^2 + ("+aVar+"B + C)x + ("+bVar+"A"+wc(aVar,1)+"C)"
   }}
   string4=string4+"\\\\ \\end{array}"
   eq3 = "\\altLink{$"+string4+"$}{$"+string1a+"=$}"
}
function writeEqn3(){
   string5="\\begin{array}{rcl}"
   if(eqn==1){
     string5=string5+"A+B+C&=&"+coef2+"\\\\"
     string5=string5+(bVar+cVar)+"A"+wc((aVar+cVar),1)+"B"+wc((aVar+bVar),1)+"C&=&"+coef1+"\\\\"
     string5=string5+(bVar*cVar)+"A"+wc((aVar*cVar),1)+"B"+wc((aVar*bVar),1)+"C&=&"+coef0
   } else {
   if(eqn==2){
     string5=string5+"A+B&=&"+coef2+"\\\\"
     string5=string5+(bVar+bVar)+"A"+wc((aVar+bVar),1)+"B +C&=&"+coef1+"\\\\"
     string5=string5+(bVar*bVar)+"A"+wc((aVar*bVar),1)+"B"+wc(aVar,1)+"C&=&"+coef0
   } else {
     string5=string5+"A+B&=&"+coef2+"\\\\"
     string5=string5+aVar+"B + C&=&"+coef1+"\\\\"
     string5=string5+bVar+"A"+wc(aVar,1)+"C&=&"+coef0
   }}
   string5=string5+"\\\\ \\end{array}"
   eq4 = "\\altLink{$"+string5+"$}{\\mbox{See equations.}}"
}
function writeEqn4(){
   string6="A="+AVar+",\\,\\,B="+BVar+",\\,\\,C="+CVar
   eq5 = "\\altLink{$"+string6+"$}{\\mbox{See solutions.}}"
}
function writeEqn5(){
   string7="\\begin{array}{l}"+poly+"\\\\"
   if(eqn==1){
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}+\\frac{"+BVar+"}{x"+wc(bVar,0)+"}+\\frac{"+CVar+"}{x"+wc(cVar,0)+"}\\,dx\\\\"
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}\\,dx\\,+\\int\\frac{"+BVar+"}{x"+wc(bVar,0)+"}\\,dx+\\int\\frac{"+CVar+"}{x"+wc(cVar,0)+"}\\,dx\\\\"
     string7=string7+"=\\,"+AVar+"\\,\\ln|x"+wc(aVar,0)+"|\\,"+wc(BVar,1)+"\\,\\ln|x"+wc(bVar,0)+"|\\,"+wc(CVar,1)+"\\,\\ln|x"+wc(cVar,0)+"|\\,+C\\\\"
   } else {
   if(eqn==2){
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}+\\frac{"+BVar+"}{x"+wc(bVar,0)+"}+\\frac{"+CVar+"}{(x"+wc(bVar,0)+")^2}\\,dx\\\\"
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}\\,dx\\,+\\int\\frac{"+BVar+"}{x"+wc(bVar,0)+"}\\,dx+\\int\\frac{"+CVar+"}{(x"+wc(cVar,0)+")^2}\\,dx\\\\"
     string7=string7+"=\\,"+AVar+"\\,\\ln|x"+wc(aVar,0)+"|\\,"+wc(BVar,1)+"\\,\\ln|x"+wc(bVar,0)+"|\\,"+wc(-CVar,1)+"(x"+wc(bVar,0)+")^{-1}\\,+C\\\\"
   } else {
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}+\\frac{"+BVar+"x"+wc(CVar,0)+"}{x^2+"+bVar+"}\\,dx\\\\"
     string7=string7+"=\\,\\int\\,\\frac{"+AVar+"}{x"+wc(aVar,0)+"}\\,dx\\,+\\int\\frac{"+BVar+"x}{x^2+"+bVar+"}\\,dx+\\int\\frac{"+CVar+"}{x^2+"+bVar+"}\\,dx\\\\"
     string7=string7+"=\\,"+AVar+"\\,\\ln|x"+wc(aVar,0)+"|\\,"+dc(BVar)+"\\,\\ln|x^2+"+bVar+"|\\,+\\frac{"+CVar+"}{\\sqrt{"+bVar+"}}\\arctan\\left(\\frac{x}{\\sqrt{"+bVar+"}}\\right)\\,+C\\\\"
   }}
   string7=string7+"\\\\ \\end{array}"
   eq6 = "\\altLink{$"+string7+"$}{$"+poly+"=$}"
}


