Here's a proof as, I suppose, would be expected:
Let's apply the IVT to the function $g$, on the interval $[a, b] = [0, 1]$.
We are especially interested in showing that the function $g$ has a zero in its domain. Therefore we apply the IVT with the intention of using a value of $k$ equal to $0$ (as per your statement of the IVT).
But $g(0) = f(0)-0=f(0)$, with the first equality by the definition of $g$. Also $g(1) = f(1)-1.$
But since $f$ has codomain $[0, 1]$, it must be $f(1)\leq1$. If the equality stands, then the proof is over: the point $x=1$ is such that $f(x)=x$.
If the inequality is strict, that is, $f(1)<1$, then $g(1)<0$.
Similarly, $g(0)=f(0)\geq0$, because $f$ has codomain $[0, 1].$ If the equality stands, we are done, just as before: $f(0)=0$.
Otherwise, $g(0)$ is positive, and finally we can apply the IVT:
The function $g$ is such that $g(0)>0$ and $g(1)<0$, and is continuous because it is sum of continuous functions, therefore a number $c$ must exist, such that $0<c<1$, and $g(c)=0$.
But if $g(c)=0$, then by the definition of $g$, $f(c)-c=0$, and rearranging, $f(c)=c$, Q.E.D.
I know this proof is extremely verbose, but since you appear to be at your first steps in proof-writing, I firmly believe that writing every single logical step in your proofs is a good habit to pick up, very much like being generous in indentation and verbose in comments is a good habit for beginner programmers.
Hint: By the Extreme Value Theorem there exist $x_{max}, x_{min}\in [0,1]$ such that $$f(x_{max}) \geq f(x) \geq f(x_{min})$$ for all $x\in[0,1]$. Why don't you try applying the Intermediate Value Theorem to the function $h(x)=f(x)-f(\alpha x)$, not by evaluating $h(x)$ at the endpoints of your interval but rather at $x_{max}$ and $x_{min}$?
The above argument will show that $h(x_{min}) \leq 0$ and $h(x_{max})\geq 0$. Therefore there exists some number $x$ between $x_{min}$ and $x_{max}$ for which $h(x)=0$, which is what you wanted to show. Now how can we guarantee that $x\in (0,1)$? Well, for starters, if neither $x_{min}$ nor $x_{max}$ is in $\{0,1\}$ then $x$ will clearly lie in $(0,1)$. Moreover, if both $x_{min}$ and $x_{max}$ are in $\{0,1\}$ then the fact that $f(0)=f(1)$ implies that $f$ is constant on $[0,1]$, in which case the problem is trivial. So assume without loss of generality that $x_{min}=1$ and $x_{max}\not\in \{0,1\}$. Then $h(1)\leq 0$. If $h(1)< 0$ then $$0< x_{max} \leq x < 1=x_{min},$$ which means that $x\in (0,1)$. If $h(1)=0$ then $f(1)-f(\alpha)=0$ and consequently, $f(1)=f(\alpha)$. Therefore $\alpha$ is also a minimum of $f$ on $[0,1]$, so we could have taken $x_{min}=\alpha$ above. But this means that $\alpha=x_{min}$ and $x_{max}$ both lie in $(0,1)$, hence so will the zero $x$ of $h$ given to us by the Intermediate Value Theorem.
Best Answer
NB: The goal of this answer is to be pedagogical. The exposition describes the way in which I might think about this problem. It is, therefore, wordy. A more concise summary is given at the end.
The intermediate value theorem (IVT) states
In other words, a continuous function on a closed interval attains every value between the values at its endpoints. In order to apply the IVT to the given problem, we need three ingredients:
Often, it is useful to start with (2). In this particular case, a reasonable starting place might be to rearrange the desired equality: $$ f(x) = (b-a)x + a \iff f(x) - (b-a)x - a = 0. $$ The expression on the left-hand side of this equation is a function, and we are hoping to find some input for this function which outputs zero. This seems to resolve (2), assuming that the remaining hypotheses of the IVT are satisfied.
For (1), it is necessary to know that this function on the left-hand side is continuous on $[0,1]$. For brevity, define $$ g(x) = f(x) - (b-a)x - a. $$ Note that $g$ is the sum of two functions: $f$, which is continuous on $[0,1]$ by hypothesis; and the function $x \mapsto (b-a)x + a$, which is continuous on all of $\mathbb{R}$ (and, in particular, continuous on $[0,1]$. The sum of two continuous functions is continuous, hence $g$ is continuous. This checks off (1).
Finally, we need to know what this function does on the endpoints. Observe that $$ g(0) = f(0) - (b-a)(0) - a = f(0) - a \qquad\text{and}\qquad g(1) = f(1) - (b-a)(1) - a = f(1) - b. $$ Now, if we could show that one of these two quantities is positive, and the other negative, we would be done. Unfortunately, it is not "obvious" that this is the case. Indeed, I'm a little stuck here.
So... let's see if there is any hypothesis which we haven't used yet. Let's reread the statement of the problem:
We have not yet used the fact that the codomain of $f$ is $[a,b]$ (that is, the image (or range) of $f$ lies in that interval). In particular, this means that $$ a \le f(x) \le b$$ for all $x \in [0,1]$. But then $$ g(0) = f(0) - a \ge a-a = 0, $$ since $f(0) \ge a$. Similarly, $$ g(1) = f(1) - b \le b-b = 0. $$ Aha! It looks like we can guarantee that $g(0)$ is positive, and that $g(1)$ is negative.
Almost...
There is a pesky little issue, in that the inequalities are weakβit is possible that either of those inequalities might be equalities, which would mess up the desired application of the intermediate value theorem. So let's make sure that this isn't really a problem, and handle these two cases on their own.
Observe that if $g(0) = 0$, then we get $$ 0 = g(0) = f(0) - (b-a)(0) - a \iff f(0) = (b-a)(0) + a, $$ which is the desired result (with $x=0$). Something similar happens if $g(1) = 0$.
Great! There is no problem if either $g(0) = 0$ or $g(1) = 1$.
So assume that $$ g(1) < 0 < g(0). $$ We have already concluded that $g$ is continuous on $[0,1]$, and we have just discovered that we can assume that $g(1)$ is negative and that $g(0)$ is positive. Therefore, by the IVT, there must be some $x \in [a,b]$ such that $g(x) = 0$. But for this $x$, $$ 0 = g(x) = f(x) - (b-a)x - a \iff f(x) = (b-a)x + a, $$ which is the desired result.
Taking my thinking, above, and writing it up cleanly, I might produce something like the following: