You can certainly prove that an algorithm for solving problems like this works in general.
Okay, so first let's reformulate your problem:
If [itex]m_1, \, m_2, \, r \in (0, 1)[/itex], [itex]m_1 < m_2, \ m_1 \leq r \leq m_2[/itex], and [itex]a > 0[/itex] then we need to find [itex]k_1, \, k_2 \geq 0[/itex] such that [itex]k_1 + k_2 = a[/itex] and [itex]k_1m_1 + k_2m_2 = ar[/itex].
Here's the interpretation of what I just said when you're doing a mixture problem: [itex]m_1[/itex] and [itex]m_2[/itex] are concentrations of the starting solutions, with [itex]m_1[/itex] being the smaller of the two. [itex]r[/itex] is the concentration of the resulting solution, and [itex]a[/itex] is the amount that we want of resulting solution. We want to find the amounts [itex]k_1[/itex] of the first solution and [itex]k_2[/itex] of the second solution that we should combine in order to have [itex]a[/itex] total solution (ie. [itex]k_1 + k_2 = a[/itex]), and in order to make the resulting concentration [itex]r[/itex]. This last condition is equvalent to wanting an amount [itex]ar[/itex] of solute in the resulting solution, so it is equivalent to needing [itex]k_1m_1 + k_2m_2 = ar[/itex] (since [itex]k_1m_1[/itex] is the amount that you get from the first starting solution and [itex]k_2m_2[/itex] is the amount that you get from the second starting solution).
You can see that if you are going to describe things mathematically you want to eliminate all of the extraneous circumstantial information. Mathematics isn't concerned with mixtures!
So now you have the problem, stated mathematically. The next step, naturally, is to formulate your conjecture mathematically. In the terms of the mathematical statement of the problem I've written above, your algorithm looks like this:
Step 1: Let [itex]M = m_2 - r[/itex].
Step 2: Let [itex]m = r - m_1[/itex].
Step 3: Let [itex]D = m + M = m_2 - m_1[/itex].
Step 4: Let [itex]U = 1/D[/itex].
Step 5: Let [itex]k_1 = aMU[/itex], [itex]k_2 = amU[/itex].
You can work backwards to get [itex]k_1[/itex] and [itex]k_2[/itex] in terms of [itex]a, m_1, m_2,[/itex] and [itex]r[/itex]:
[tex]k_1 = aMU = \frac{a(m_2 - r)}{D} = \frac{a(m_2 - r)}{m_2 - m_1}[/tex]
and
[tex]k_2 = amU = \frac{a(r - m_1)}{D} = \frac{a(r - m_1)}{m_2 - m_1}[/tex].
You are now in a position to state your conjecture:
If [itex]m_1, \, m_2, \, r \in (0, 1)[/itex], [itex]m_1 < m_2, \ m_1 \leq r \leq m_2[/itex], and [itex]a > 0[/itex] then setting [itex]k_1 = a(m_2 - r)/(m_2 - m_1)[/itex] and [itex]k_2 = a(r - m_1)/(m_2 - m_1)[/itex] gives [itex]k_1 + k_2 = a[/itex] and [itex]k_1m_1 + k_2m_2 = ar[/itex].
We will see later that some of the assumptions made in the statement of the conjecture are not at all necessary, so in fact we can prove more general statements with the same argument as we will use for this one.
Now all that's left is the proof:
We have
[tex]k_1 = \frac{a(m_2 - r)}{m_2 - m_1}, \ k_2 = \frac{a(r- m_1)}{m_2 - m_1},[/tex]
so indeed,
[tex]k_1 + k_2 = \frac{a(m_2 - r)}{m_2 - m_1} + \frac{a(r-m_1)}{m_2 - m_1}[/tex]
[tex]= \frac{a(m_2 - r) + a(r - m_1)}{m_2 - m_1} = \frac{a(m_2 - m_1 + r - r)}{m_2 - m_1} = \frac{a(m_2 - m_1)}{m_2 - m_1}[/tex]
[tex]= a[/tex]
and
[tex]k_1m_1 + k_2m_2 = \frac{a(m_2 - r)}{m_2 - m_1}m_1 + \frac{a(r - m_1)}{m_2 - m_1}m_2[/tex]
[tex]= \frac{a}{m_2 - m_1}\left[ (m_2 - r)m_1 + (r - m_1)m_2\right] = \frac{a}{m_2 - m_1}\left[ m_2m_1 - rm_1 + rm_2 - m_1m_2\right][/tex]
[tex]
=\frac{a}{m_2-m_1}\left[(rm_2 - rm_1) + (m_2m_1 - m_1m_2)\right] = \frac{a(rm_2 - rm_1)}{m_2 - m_1} = \frac{ar(m_2 - m_1)}{m_2-m_1}[/tex]
[tex]=ar.[/tex]
QED. (I left in most of the arithmetic, but I might have fallen asleep and skipped some steps!

)As I said before, in fact this is a proof for the more general result that the system of equations [itex]\{k_1m_1 + k_2m_2 = ar, \ k_1 + k_2 = a \}[/itex] has the solution [itex]k_1 = a(m_2-r)/(m_2-m_1)[/itex], [itex]k_2 = a(r-m_1)/(m_2-m_1)[/itex] whenever [itex]m_2 \neq m_1[/itex] (ie. all the other assumptions I made when I stated the earlier conjecture were unnecessary, and just there to make it look more like a mixture problem). You can see this because we never used any of the other assumptions in the proof (you need [itex]m_1 \neq m_2[/itex] because otherwise you can't divide by [itex]m_2-m_1[/itex] in the first place!).