Your stipulated requirements are incompatible, since there is no linear function that goes through the point $(0, \infty)$ and the point $(1, a)$ for any real $a \in \mathbb{R}$. The obvious thing to do here is to stipulate a nonlinear relationship between effort and time. The best way to do this is to first stipulate a model for the relationship between effort and speed ---e.g., you might stipulate that:
$$\log \text{Speed} = \alpha_0 + \alpha_1 \cdot \log \text{Effort} + \text{Error},$$
where you expect the parameter $\alpha_1$ to be positive. Since $\text{Time}$ is inversely proportionate to $\text{Speed}$, you then have $ \log \text{Time} = \log \text{Speed} + \text{const}$, which igives you the corresponding model:
$$\log \text{Time} = \beta_0 + \beta_1 \cdot \log \text{Effort} + \text{Error},$$
where you now expect the parameter $\beta_1 = - \alpha_1$ to be negative. This is just one example of a nonlinear model that might fit reasonably in this case. I would suggest you start with something like this and have a look at the diagnostic plots to see if it looks okay. If these plots exhibit problems then you could refine the model to get one that has appropriate asymptotic properties for your situation, and reasonable diagnostic plots from the data.
Update: Based on the data you have given in the comments (which is only four data points), this model fits almost perfectly ($R^2=0.9932$).
Call:
lm(formula = log(Time) ~ log(Effort), data = DATA)
...
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.49482 0.35820 37.67 0.000704 ***
log(Effort) -1.13527 0.06618 -17.15 0.003381 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.008463 on 2 degrees of freedom
Multiple R-squared: 0.9932, Adjusted R-squared: 0.9899
F-statistic: 294.2 on 1 and 2 DF, p-value: 0.003381
The R
code for the plot and regression output is here:
#Set libraries and theme
library(ggplot2);
library(gridExtra);
THEME <- theme(plot.title = element_text(hjust = 0.5, size = 14, face = 'bold'),
plot.subtitle = element_text(hjust = 0.5, face = 'bold'));
#Specify data and fit model
DATA <- data.frame(Effort = c(241,232,222,203), Time = c(1425, 1500, 1588, 1734));
MODEL <- lm(log(Time) ~ log(Effort), data = DATA);
#Generate plot of data
ggplot(aes(x = Effort, y = Time), data = DATA) +
geom_point(colour = 'blue', size = 4) +
geom_smooth(method='lm', formula= y ~ x) +
scale_x_log10(breaks = scales::trans_breaks("log10", function(x) 10^x),
labels = scales::trans_format("log10", scales::math_format(10^.x))) +
scale_y_log10(breaks = scales::trans_breaks("log10", function(x) 10^x),
labels = scales::trans_format("log10", scales::math_format(10^.x))) +
THEME +
ggtitle('Scatterplot of Effort vs Time') +
labs(subtitle = '(Log-linear regression)');
#Give summary of model
summary(MODEL);