para poder utilizar las funciones pow() y sqrt(), deberas incluir en el encabezado:
#include<math.h>
y adicion almente compilar el rpograma como sigue:
gcc -o miprog.exe miprog.c
-lmel -lm quiere decir que vas a linkar con la libreria de matematicas, si no lo usas, el programa te corre pero hace las cosas mal.
Por otro lado tu algoritmo esta basicamente bien, pero cometes un error en la declaracion de variables, solo deberias de tener:
long a, b;
.
.
printf("%d",b);//con %ld te debe funcionar
hay que tener cuidado cuando defines los tipos, en especial si trabajas bajo unix o linux.
Exitos.