<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def second_order_diff(arr, x):
 """Compute second order difference of an array. A 2nd order forward difference is used for the first point, 2nd order central difference for interior, and 2nd order backward difference for last point, returning an array the same length as the input array. """

    # Convert to array, so this will work with pandas Series
    arr = np.array(arr)
    # Calculate dx for forward diff point
    dxf = (x[2] - x[0])/2
    # Calculate dx for backward diff point
    dxb = (x[-1] - x[-3])/2
    # Calculate dx array for central difference
    dx = (x[2:] - x[:-2])/2
    # For first data point, use 2nd order forward difference
    first = (-3*arr[0] + 4*arr[1] - arr[2])/(2*dxf)
    # For last point, use 2nd order backward difference
    last = (3*arr[-1] - 4*arr[-2] + arr[-3])/(2*dxb)
    # For all interior points, use 2nd order central difference
    interior = (arr[2:] - arr[:-2])/(2*dx)
    # Create entire array
    darr = np.concatenate(([first], interior, [last]))
    return darr