You should use partial fraction decomposition such that:

`(x^3+1)/(x(x^2+1)) = A/x + (Bx + C)/(x^2+1)`

You should bring both sides to a common denominator;

`x^3 + 1 = A(x^2 + 1) + x*(Bx + C)`

`x^3 + 1 = Ax^2 + A + Bx^2 + Cx`

`` `x^3 + 1 = (A+B)x^2 + Cx + A`

Equate the coefficients that involve the same powers of x:

A+B = 0 => A = -B

C = 0

A = 1 => B = -1

`(x^3+1)/(x(x^2+1)) = 1/x + (-x)/(x^2+1)`

Integrating both sides yields:

`int ((x^3+1)dx)/(x(x^2+1)) = int dx/x + int ((-x)dx)/(x^2+1)`

Use substitution procedure to solve `int ((-x)dx)/(x^2+1)`

Put `x^2+1 = t` .

Differentiating both sides yields dx: 2xdx = dt

Keep xdx to the left side: `xdx = dt/2`

Write the new integral: `int -dt/2t = -(ln|t|)/2 + c`

Replace t by`x^2+1` and remove the absolute value since `x^2+1gt0` .

`int ((-x)dx)/(x^2+1) = -ln sqrt(x^2 + 1) + c`

`int ((x^3+1)dx)/(x(x^2+1)) = ln |x| - ln sqrt(x^2 + 1) + c`

Use the quotient rule of logarithms:

`int ((x^3+1)dx)/(x(x^2+1)) = ln (|x|/sqrt(x^2 + 1)) + c`

**Integrating the fraction `(x^3+1)/(x^3+x)` yields `int ((x^3+1)dx)/(x(x^2+1)) = ln (|x|/sqrt(x^2 + 1)) + c` .**