The Least Norm Solution of Under Determined Linear System
Least Squares solution is always well defined for Linear System of Equations.
In your case, which is under determined it means there are many solutions to the Linear Equations.
The Least Squares solution has nice property, it also minimizes the $ {L}_{2} $ norm of the solution (Least Norm Solution) hence it is well defined.
In practice, in order to solve this equation you need to use the pinv() function in MATLAB.
This function uses the Moore Penrose Pseudo Inverse Matrix of $ A $ to solve the equation:
x = pinv(A) * b

It basically decompose the Matrix using the Singular Value Decomposition (SVD) such that $ U S {V}^{T} = A $ and the rebuild the matrix $ {A}^{\dagger} = U {S}^{\dagger} {V}^{T} $ where $ {S}^{\dagger} $ is the result of inverting any non zero element of the diagonal matrix $ S $.
Update
The user @percusse said the following:

You just need A\b
You shouldn't use pinv for linear system solutions that's what I mean. Not only inefficient but also not accurate. There is no unique solution hence you can't talk about a least.
Backslash operator is optimized for all possible linear eq sets. Try it.
There is no least squares solutions for underdetermined systems because of the nontrivial nullspace. Anyways nevermind.

So, to make things clear.
The Least Squares solution always exists and it is also the Least Norm solution.
Namely, from the set $ \mathcal{B} = \left\{ x \mid \min_{x} \left\| A x - b \right\| \right\} $ there is one unique $ \hat{x} $ such that $ \hat{x} = \arg \min_{x} \left\| x \right\|_{2} \text{  subject to  } \left\{ x \mid x \in \mathcal{B} \right\} $.
For instance:
for ii = 1:1e12
    numRows = 3;
    numCols = 27; %&lt;! Must be bigger than 'numRows' for Under Determined System
    
    mA   = randn([numRows, numCols]);
    vB   = randn([numRows, 1]);
    vXLs = pinv(mA) * vB;
    vX   = mA \ vB;
    
    
    if(norm(vXLs) &gt;= norm(vX))
        keyboard();
    end
    
    if(mod(ii, 1e4) == 0)
        disp(['Iteration Number - ', num2str(ii)]);
    end
    
end

Remarks:

The difference arises for Under Determined System. For over / well determined system the solutions collide (Namely Tall Matrices which are the &quot;Classic&quot; case in LS problems).
The Psuedo Inverse is much slower to use then the \ operator. If you're looking for any solution, use \. If you're looking for the Least Squares solution (The Least Squares solution is always the least norm solution) for Under Determined System you need to use the pinv() function.
Proof and deeper analysis can be found in my Singular Value Decomposition (SVD) Presentation. Specifically this issue is on pages 50-60.
Cleve Moler's (Inventor of MATLAB) post on Pseudo Inverse vs. \ - The World’s Simplest Impossible Problem.