rpsolution(a_,d_,x_):=if(hasnot(a,d,x),if(a==-1, -d*x, -d/(a+1) )); rpsolution(p_,a_*b_,x_):=if(hasnot(a,x),expand(a*rpsolution(p,b,x)) ); rpsolution(p_,a_+b_,x_):=rpsolution(p,a,x)+rpsolution(p,b,x); rpsolution(a_,x_,x_):= if(a==-1, x/2-x^2/2, - (a*x + x - 1)/(a + 1)^2 ); rpsolution(a_,x_^2,x_):= if(a==-1, -1/6*x+1/2*x^2-1/3*x^3, (a* (-(a + 1)^2 *x^2 + 2* (a + 1)* x + a - 1) )/(a* (a + 1)^3) ); rpsolution(a_,1/x_,x_):= -2/(2a+1)/x;