Does there exist a partition of an L to create a square? Background: Consider the following collection of tiles. These can be arranged to form a "difference of two squares" which I call an "L" (shown above), or a "square" (shown below).

In this particular example, we have $3a = c$. When the lengths of the L satisfy this ratio, one can partition the L in such a way that rearranging the pieces produces a square.
What if the side lengths do not satisfy this ratio? More precisely, my question is as follows.
Question: Suppose you are given an arbitrary L with outer side lengths $c$ and inner side lengths $a$. Is there a procedure that one can follow to create a finite partition of the L which can be reassembled to form a square of side lengths $b = \sqrt{c^2 - a^2}$? Here $a, c \in \mathbb R$ are arbitrary with $0 < a < b$.
The term "procedure" is left intentionally vague. I believe this is difficult to achieve. What if $a,b,c$ are Pythagorean triples? Can the above problem then be solved?
If this second problem is also too difficult, is there some other class of ratios for which this is problem to solve?
 A: If $a$ is small enough, a well-known dissection used to prove Pythagoras' theorem can serve as a basis to create a partition of the L (see diagram below). Of course things become more complicated if $a$ gets bigger, I haven't tried that case to see if one can obtain a simple partition.

EDIT.
Here is another partition inspired by a Pythagorean proof (# 26 at https://www.cut-the-knot.org/pythagoras/). This one allows larger values of $a$.

A: It can be done. Whether or not it can be done nicely depends on your definition of "nicely".

In geometry, the Wallace–Bolyai–Gerwien theorem, named after William
  Wallace, Farkas Bolyai and Paul Gerwien, is a theorem related to
  dissections of polygons. It answers the question when one polygon can
  be formed from another by cutting it into a finite number of pieces
  and recomposing these by translations and rotations. The
  Wallace-Bolyai-Gerwien theorem states that this can be done if and
  only if two polygons have the same area.

https://en.wikipedia.org/wiki/Wallace%E2%80%93Bolyai%E2%80%93Gerwien_theorem
