This is an extended comment. First, to agree with @MarcoB, Anton Antonov gave you a great answer. Second, despite the theory stating things are linear, your data provides no support for that theory (at least not across the whole range of the predictor variable).
Because your data has multiple observations for each predictor value, it makes sense to plot the means and confidence intervals associated with each unique predictor value. That plot is created below and maybe things are approximately linear from the predictor values from about 33 and higher, the remaining data supports a separate and smaller slope. Also note that the confidence intervals are so small that only for values below 20 and above about 55 can they even be distinquished from the red point representing the mean.
Quantile regression bends with your data. Try it.

Update
I used R to create the above plot. Here are the Mathematica commands to produce an equivalent plot:
se = StandardDeviation[#]/Sqrt[Length[#]] & /@ GatherBy[data, First];
means = Mean[#] & /@ GatherBy[data, First];
lower = means - 1.96 se;
upper = means + 1.95 se;
Show[ListPlot[{data, means},
PlotStyle -> {Automatic, {PointSize[0.01], Red}}],
ListPlot[Transpose[{lower, upper}], Joined -> True, PlotStyle -> Red]]

2nd Update
Because you've now stated that the data is essentially censored so that the dependent variable values can't go below -16.1363, your data are censored. This suggests that the median might be a better descriptor of the relationship in that it is less influenced by the censoring.
medians = Median[#] & /@ GatherBy[data, First];
means = Mean[#] & /@ GatherBy[data, First];
ListPlot[{data, means, medians},
PlotStyle -> {Automatic, {PointSize[0.01], Red}, {PointSize[0.01],
Blue}}, PlotLegends -> {"Raw data", "Means", "Medians"}]
