# Differencing a strictly postive number data

I have a time series data that i wanted to make an ARIMA model, but in a condition that, my forecast result needed to be a strictly positive number, so here is my actual data:

but before making a model, I am conducting stationary test first to these data to look if it follows Stationary or not, then I get result like this using adf.test(x, alternative="stationary")

it is failed to reject h0, so the conclusion is my data is not stationary (contains unit root), so I try second order differencing diff(x) until the p value shows 0.01 that reject h0, and makes my data look like this

but the following result of differencing will produce combination of negative and positive number on the forecasting that doesn't satisfy my condition that I needed all forecast number to be positive.. here is the comparison of my actual and prediction values

in here I am using the differenced data to make an ARIMA model that appears to have a best model of ARIMA(4,0,0) by auto.arima() function, I wonder.. does making an absolute of data differencing are allowed to make this happen? or does these data is not suited to forecast? I am still new while studying to do better in ARIMA modelling, thankyou in advance