The function f : Z → Z is defined by f[x] = 3x^3 – x.

(i) To determine whether the function is one-to-one or not, we need to check if different inputs x and y always produce different outputs f(x) and f(y). That is, if f(x) = f(y), then x = y.

To test this, suppose that f(x) = f(y) for some x and y in Z. Then we have:

3x^3 – x = 3y^3 – y

Rearranging, we get:

3x^3 – 3y^3 = x – y

Factoring, we get:

3(x – y)(x^2 + xy + y^2) = x – y

Since x and y are integers, we can divide both sides by x – y (which is not zero, otherwise the equation is meaningless) to get:

3(x^2 + xy + y^2) = 1

However, this equation has no integer solutions. Thus, we can conclude that f is one-to-one.

(ii) To determine whether the function is onto or not, we need to check if every integer in the range of f is actually attained by some integer in the domain. That is, for every integer y in Z, we need to find an integer x such that f(x) = y.

To test this, let y be any integer in Z. Then we need to solve the equation:

3x^3 – x = y

This is a cubic equation in x, and in general, cubic equations do not have simple algebraic solutions. However, we can use numerical methods or graphical methods to find approximate solutions.

For example, if we plot the graph of y = 3x^3 – x, we can see that the function is increasing for large positive values of x and decreasing for large negative values of x, and it has a local minimum at x = 0. Therefore, for any integer y, we can find a corresponding integer x by “guessing and checking” or by using a numerical method such as the bisection method or Newton’s method.

Thus, we can conclude that f is onto.