Derivar funciones de la forma (ax^b)(cx^d)

import java.util.*;
public class derivar{
   public static void main(){
       int coeficiente, potencia,x,xc,xp;
       int coeficiente2, potencia2,xc2,xp2;
       Scanner teclado = new Scanner (System.in);
       System.out.println("Derivar funciones de la forma (ax^b)(cx^d) \n");
       do {
       System.out.println("Escribe el primer coeficiente:");
       coeficiente = teclado.nextInt();
       System.out.println("Escribe la primera potencia:");
       potencia = teclado.nextInt();
       xc = coeficiente*potencia;
       xp = potencia - 1;
       System.out.println("Escribe el segundo coeficiente:");
       coeficiente2 = teclado.nextInt();
       System.out.println("Escribe la segunda potencia:");
       potencia2 = teclado.nextInt();
       xc2 = coeficiente2*potencia2;
       xp2 = potencia2 - 1;
       System.out.println("La derivada es: ("+ coeficiente+"x^"+potencia+")("+xc2+"x^"+xp2+") + ("+coeficiente2+"x^"+potencia2+")("+xc+"x^"+xp+")");
      
       System.out.println("Sacar otra derivada 1.si / 2.no"); 
       x = teclado.nextInt();
    }
    while (x==1);
      
   }
}