帮小弟我解释一上上面的代码吧,这是神一样的代码

帮我解释一下下面的代码吧,这是神一样的代码
本题的来源是:http://acm.fjnu.edu.cn/show?problem_id=1336
下面代码已经AC

#include <iostream>
using namespace std;

int gcd(int a, int b){return b ? gcd(b, a%b) : a;}

int main()
{
  int cas;scanf("%d", &cas);
  while (cas--)
  {
  int l, m, n;scanf("%d%d%d", &l, &m, &n);
  int d = gcd(l, m);
  d = gcd(d, n);
  l /= d;
  m /= d;
  n /= d;
  if ((m+n)&1)puts("no");
  else printf("%d\n", n+m-1);
  }
  return 0;
}
为什么次数就是m+n-1,数论原理是什么?

------解决方案--------------------
确实是神一样的方法,数学能力不足不知道作者是如何写出来的。

不过,这样的方法下什么都被人做光了,实在没计算机什么事情了。