  Systems of linear equations are used to model a wide array of problems in all
fields of science and engineering. Recently, it has been shown that quantum
computers could solve linear systems exponentially faster than classical
computers, making for one of the most promising applications of quantum
computation. Here, we demonstrate this quantum algorithm by implementing
various instances on a photonic quantum computing architecture. Our
implementation involves the application of two consecutive entangling gates on
the same pair of polarisation-encoded qubits. We realize two separate
controlled-NOT gates where the successful operation of the first gate is
heralded by a measurement of two ancillary photons. Our work thus demonstrates
the implementation of a quantum algorithm with high practical significance as
well as an important technological advance which brings us closer to a
comprehensive control of photonic quantum information.
