## Find all permutations in increasing order

IMHO you are not asking for permutations but for combinations. If I am right, then the answer given about Knuth's Algorithm L doesn't cover your problem.
Assuming that you are asking indeed for combinations: there are 20 of them and here they come.
 1  1 2 3
2  1 2 4
3  1 2 5
4  1 2 6
5  1 3 4
6  1 3 5
7  1 3 6
8  1 4 5
9  1 4 6
10  1 5 6
11  2 3 4
12  2 3 5
13  2 3 6
14  2 4 5
15  2 4 6
16  2 5 6
17  3 4 5
18  3 4 6
19  3 5 6
20  4 5 6

I have software for doing the same in more general cases. The gist of the coding is a nested loop, as follows (in Pascal).
Program loops;
var
tel, k1, k2, k3 : integer;
begin
tel := 0;
for k1 := 1 to 6 do
begin
for k2 := k1+1 to 6 do
begin
for k3 := k2+1 to 6 do
begin
tel := tel + 1;
Writeln(tel:2,'  ',k1,' ',k2,' ',k3);
end;
end;
end;
end.

The following is the more general (recursive) program as mentioned, with the same output, though.
Program recursie;
procedure combi(n,k : integer);
{
Combinations k out of n
}
var
t : integer;
loper : array of integer;
procedure loops(var tel : integer; diep : integer);
{
Recursive nested loops
}
var
d : integer;
procedure PRINT;
var
i : integer;
begin
Write(tel+1:3,'  ');
for i := 1 to k do
Write(loper[i],' ');
Writeln;
end;
begin
if diep = k then
begin
PRINT;
tel := tel + 1;
end else begin
for d := loper[diep]+1 to n do
begin
loper[diep+1] := d;
loops(tel,diep+1);
end;
end;
end;
begin
t := 0;
SetLength(loper,k+1);
loper := 0;
loops(t,0);
end;
{
procedure test;
var
k : integer;
begin
for k := 0 to 6 do
begin
combi(6,k);
Writeln;
end;
end;
}
begin
combi(6,3);
end.