Rules for integrands of the form(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)

1.  ∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ ((m+1)/n)∈ℤ ∧ (n^2)≠1

1:  ∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ ((m+1)/n)∈ℤ ∧ (n^2)≠1

Derivation: Integration by substitution

Basis: If ((m+1)/n)∈ℤ, then (x^m)F[(x^n)]==(1/n) Subst[(x^(((m+1)/n)-1)) F[x],x,(x^n)] (∂_x)(x^n)

Rule: If  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ ((m+1)/n)∈ℤ ∧ (n^2)≠1, then

∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  ⟶  (1/n) Subst[∫(x^(((m+1)/n)-1)) (((a (x^(j/n))+b (x^(k/n))))^p) (((c+d x))^q)dx,x,(x^n)]

Program code:

Int[x_^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_)^q_.,x_Symbol] :=
  1/n*Subst[Int[x^(Simplify[(m+1)/n]-1)*(a*x^Simplify[j/n]+b*x^Simplify[k/n])^p*(c+d*x)^q,x],x,x^n] /;
FreeQ[{a,b,c,d,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k,j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] && 
  IntegerQ[Simplify[(m+1)/n]] && NeQ[n^2,1]

2:  ∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ ((m+1)/n)∈ℤ ∧ (n^2)≠1

Derivation: Piecewise constant extraction

Basis: (∂_x)((((e x))^m)/(x^m))==0

Basis: ((((e x))^m)/(x^m))==(((e^(IntPart[m]))(((e x))^(FracPart[m])))/(x^(FracPart[m])))

Rule: If  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ ((m+1)/n)∈ℤ ∧ (n^2)≠1, then

∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  ⟶  (((e^(IntPart[m]))(((e x))^(FracPart[m])))/(x^(FracPart[m])))∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx

Program code:

Int[(e_*x_)^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
  e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a*x^j+b*x^k)^p*(c+d*x^n)^q,x] /;
FreeQ[{a,b,c,d,e,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k,j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] && 
  IntegerQ[Simplify[(m+1)/n]] && NeQ[n^2,1]

2.  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  when p∉ℤ ∧ b c-a d≠0

1:  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  when p∉ℤ ∧ b c-a d≠0 ∧ a d (m+j p+1)-b c (m+n+p (j+n)+1)==0 ∧ (e>0 ∨ j∈ℤ) ∧ m+j p+1≠0

Derivation: Trinomial recurrence 3b with c=0 and a d (m+j p+1)-b c (m+n+p (j+n)+1)==0

Rule: If  p∉ℤ ∧ b c-a d≠0 ∧ a d (m+j p+1)-b c (m+n+p (j+n)+1)==0 ∧ (e>0 ∨ j∈ℤ) ∧ m+j p+1≠0, then

∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  ⟶  ((c (e^(j-1))(((e x))^(m-j+1)) (((a (x^j)+b (x^(j+n))))^(p+1)))/(a (m+j p+1)))

Program code:

Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.),x_Symbol] :=
  c*e^(j-1)*(e*x)^(m-j+1)*(a*x^j+b*x^(j+n))^(p+1)/(a*(m+j*p+1)) /;
FreeQ[{a,b,c,d,e,j,m,n,p},x] && EqQ[jn,j+n] && Not[IntegerQ[p]] && NeQ[b*c-a*d,0] && EqQ[a*d*(m+j*p+1)-b*c*(m+n+p*(j+n)+1),0] && 
  (GtQ[e,0] || IntegersQ[j]) && NeQ[m+j*p+1,0]

2:  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  when p∉ℤ ∧ b c-a d≠0 ∧ p<-1 ∧ 0<j≤m ∧ (e>0 ∨ j∈ℤ)

Derivation: Trinomial recurrence 2b with c=0

Rule: If  p∉ℤ ∧ b c-a d≠0 ∧ p<-1 ∧ 0<j≤m ∧ (e>0 ∨ j∈ℤ), then

∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  ⟶  
-(((e^(j-1))(b c-a d)(((e x))^(m-j+1)) (((a (x^j)+b (x^(j+n))))^(p+1)))/(a b n(p+1)))-(((e^j) (a d (m+j p+1)-b c (m+n+p (j+n)+1)))/(a b n(p+1))) ∫(((e x))^(m-j)) (((a (x^j)+b (x^(j+n))))^(p+1))dx

Program code:

Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.),x_Symbol] :=
  -e^(j-1)*(b*c-a*d)*(e*x)^(m-j+1)*(a*x^j+b*x^(j+n))^(p+1)/(a*b*n*(p+1)) - 
  e^j*(a*d*(m+j*p+1)-b*c*(m+n+p*(j+n)+1))/(a*b*n*(p+1))*Int[(e*x)^(m-j)*(a*x^j+b*x^(j+n))^(p+1),x] /;
FreeQ[{a,b,c,d,e,j,m,n},x] && EqQ[jn,j+n] && Not[IntegerQ[p]] && NeQ[b*c-a*d,0] && LtQ[p,-1] && GtQ[j,0] && LeQ[j,m] && 
  (GtQ[e,0] || IntegerQ[j])

3:  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  when p∉ℤ ∧ b c-a d≠0 ∧ m<-1 ∧ n>0 ∧ (e>0 ∨ (j|n)∈ℤ)

Derivation: Trinomial recurrence 3b with c=0

Rule: If  p∉ℤ ∧ b c-a d≠0 ∧ m<-1 ∧ n>0 ∧ (e>0 ∨ (j|n)∈ℤ), then

∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  ⟶  
((c (e^(j-1))(((e x))^(m-j+1)) (((a (x^j)+b (x^(j+n))))^(p+1)))/(a (m+j p+1)))+((a d (m+j p+1)-b c (m+n+p (j+n)+1))/(a (e^n) (m+j p+1))) ∫(((e x))^(m+n)) (((a (x^j)+b (x^(j+n))))^p)dx

Program code:

Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.),x_Symbol] :=
  c*e^(j-1)*(e*x)^(m-j+1)*(a*x^j+b*x^(j+n))^(p+1)/(a*(m+j*p+1)) + 
  (a*d*(m+j*p+1)-b*c*(m+n+p*(j+n)+1))/(a*e^n*(m+j*p+1))*Int[(e*x)^(m+n)*(a*x^j+b*x^(j+n))^p,x] /;
FreeQ[{a,b,c,d,e,j,p},x] && EqQ[jn,j+n] && Not[IntegerQ[p]] && NeQ[b*c-a*d,0] && GtQ[n,0] && 
  (LtQ[m+j*p,-1] || IntegersQ[m-1/2,p-1/2] && LtQ[p,0] && LtQ[m,-n*p-1]) && 
  (GtQ[e,0] || IntegersQ[j,n]) && NeQ[m+j*p+1,0] && NeQ[m-n+j*p+1,0]

4:  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  when p∉ℤ ∧ b c-a d≠0 ∧ m+n+p (j+n)+1≠0 ∧ (e>0 ∨ j∈ℤ)

Derivation: Trinomial recurrence 2b with c=0 composed with binomial recurrence 1b

Rule: If  p∉ℤ ∧ b c-a d≠0 ∧ m+n+p (j+n)+1≠0 ∧ (e>0 ∨ j∈ℤ), then

∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (c+d (x^n))dx  ⟶  
((d (e^(j-1))(((e x))^(m-j+1)) (((a (x^j)+b (x^(j+n))))^(p+1)))/(b (m+n+p (j+n)+1)))-((a d (m+j p+1)-b c (m+n+p (j+n)+1))/(b (m+n+p (j+n)+1)))∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p)dx

Program code:

Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.),x_Symbol] :=
  d*e^(j-1)*(e*x)^(m-j+1)*(a*x^j+b*x^(j+n))^(p+1)/(b*(m+n+p*(j+n)+1)) - 
  (a*d*(m+j*p+1)-b*c*(m+n+p*(j+n)+1))/(b*(m+n+p*(j+n)+1))*Int[(e*x)^m*(a*x^j+b*x^(j+n))^p,x] /;
FreeQ[{a,b,c,d,e,j,m,n,p},x] && EqQ[jn,j+n] && Not[IntegerQ[p]] && NeQ[b*c-a*d,0] && NeQ[m+n+p*(j+n)+1,0] && (GtQ[e,0] || IntegerQ[j])

3.  ∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ (n/(m+1))∈ℤ

1:  ∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ (n/(m+1))∈ℤ

Derivation: Integration by substitution

Basis: If (n/(m+1))∈ℤ, then (x^m)F[(x^n)]==(1/(m+1))Subst[F[(x^(n/(m+1)))],x,(x^(m+1))](∂_x)(x^(m+1))

Rule: If  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ (n/(m+1))∈ℤ

∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  ⟶  (1/(m+1))Subst[∫(((a (x^(j/(m+1)))+b (x^(k/(m+1)))))^p) (((c+d (x^(n/(m+1)))))^q)dx,x,(x^(m+1))]

Program code:

Int[x_^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
  1/(m+1)*Subst[Int[(a*x^Simplify[j/(m+1)]+b*x^Simplify[k/(m+1)])^p*(c+d*x^Simplify[n/(m+1)])^q,x],x,x^(m+1)] /;
FreeQ[{a,b,c,d,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k,j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] && 
  NeQ[m,-1] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]

2:  ∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  when  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ (n/(m+1))∈ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((e x))^m)/(x^m))==0

Basis: ((((e x))^m)/(x^m))==(((e^(IntPart[m]))(((e x))^(FracPart[m])))/(x^(FracPart[m])))

Rule: If  p∉ℤ ∧ j≠k ∧ (j/n)∈ℤ ∧ (k/n)∈ℤ ∧ (n/(m+1))∈ℤ, then

∫(((e x))^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx  ⟶  (((e^(IntPart[m]))(((e x))^(FracPart[m])))/(x^(FracPart[m])))∫(x^m) (((a (x^j)+b (x^k)))^p) (((c+d (x^n)))^q)dx

Program code:

Int[(e_*x_)^m_.*(a_.*x_^j_+b_.*x_^k_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
  e^IntPart[m]*(e*x)^FracPart[m]/x^FracPart[m]*Int[x^m*(a*x^j+b*x^k)^p*(c+d*x^n)^q,x] /;
FreeQ[{a,b,c,d,e,j,k,m,n,p,q},x] && Not[IntegerQ[p]] && NeQ[k,j] && IntegerQ[Simplify[j/n]] && IntegerQ[Simplify[k/n]] && 
  NeQ[m,-1] && IntegerQ[Simplify[n/(m+1)]] && Not[IntegerQ[n]]

4:  ∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (((c+d (x^n)))^q)dx  when p∉ℤ ∧ b c-a d≠0

Derivation: Piecewise constant extraction

Basis: (∂_x)(((((e x))^m) (((a (x^j)+b (x^(j+n))))^p))/((x^(m+j p))(((a+b (x^n)))^p)))==0

Basis: ((((e x))^m)/(x^m))==(((e^(IntPart[m]))(((e x))^(FracPart[m])))/(x^(FracPart[m])))

Basis:  ((((a (x^j)+b (x^(j+n))))^p)/((x^(j p)) (((a+b (x^n)))^p)))==((((a (x^j)+b (x^(j+n))))^(FracPart[p]))/((x^(j FracPart[p]))(((a+b (x^n)))^(FracPart[p]))))

Rule: If  p∉ℤ ∧ b c-a d≠0, then

∫(((e x))^m) (((a (x^j)+b (x^(j+n))))^p) (((c+d (x^n)))^q)dx  ⟶  (((((e x))^m) (((a (x^j)+b (x^(j+n))))^p))/((x^(m+j p))(((a+b (x^n)))^p)))∫(x^(m+j p)) (((a+b (x^n)))^p) (((c+d (x^n)))^q)dx  
⟶  (((e^(IntPart[m]))(((e x))^(FracPart[m])) (((a (x^j)+b (x^(j+n))))^(FracPart[p])))/((x^(FracPart[m]+j FracPart[p]))(((a+b (x^n)))^(FracPart[p]))))∫(x^(m+j p)) (((a+b (x^n)))^p) (((c+d (x^n)))^q)dx

Program code:

Int[(e_.*x_)^m_.*(a_.*x_^j_.+b_.*x_^jn_.)^p_*(c_+d_.*x_^n_.)^q_.,x_Symbol] :=
  e^IntPart[m]*(e*x)^FracPart[m]*(a*x^j+b*x^(j+n))^FracPart[p]/
    (x^(FracPart[m]+j*FracPart[p])*(a+b*x^n)^FracPart[p])*
    Int[x^(m+j*p)*(a+b*x^n)^p*(c+d*x^n)^q,x] /;
FreeQ[{a,b,c,d,e,j,m,n,p,q},x] && EqQ[jn,j+n] && Not[IntegerQ[p]] && NeQ[b*c-a*d,0] && Not[EqQ[n,1] && EqQ[j,1]]